Skip to content

Latest commit

 

History

History
142 lines (89 loc) · 4 KB

File metadata and controls

142 lines (89 loc) · 4 KB

Events

EventsSDK

EventsSDK<API, Events> = object

The SDK for the API RPC service.

Type Parameters

Type Parameter Default type
API object
Events object

Methods

onInterceptRequest()

onInterceptRequest(callback: (sdk: SDK<API, Events>, request: Request) => MaybePromise<void>): void

Registers an callback on new intercepted requests.

This callback is called asynchronously and cannot modify requests.

Parameters
Parameter Type
callback (sdk: SDK<API, Events>, request: Request) => MaybePromise<void>
Returns

void

Example
sdk.events.onInterceptRequest((sdk, request) => {
   // Do something with the request
});
onInterceptResponse()

onInterceptResponse(callback: (sdk: SDK<API, Events>, request: Request, response: Response) => MaybePromise<void>): void

Registers an callback on new intercepted responses.

This callback is called asynchronously and cannot modify responses.

Parameters
Parameter Type
callback (sdk: SDK<API, Events>, request: Request, response: Response) => MaybePromise<void>
Returns

void

Example
sdk.events.onInterceptResponse((sdk, request, response) => {
   // Do something with the request/response
});
onProjectChange()

onProjectChange(callback: (sdk: SDK<API, Events>, project: Project | null) => MaybePromise<void>): void

Registers an callback on project change.

This callback is called asynchronously and cannot modify the project.

It can happen that the project is null if the user deleted the currently selected one.

Parameters
Parameter Type
callback (sdk: SDK<API, Events>, project: Project | null) => MaybePromise<void>
Returns

void

Example
sdk.events.onProjectChange((sdk, project) => {
  if (project !== null) {
    // Do something with the project
  }
});
onUpstream()

onUpstream(callback: (sdk: SDK<API, Events>, request: RequestSpecRaw) => MaybePromise<UpstreamResult>): void

Callback called before the request is sent to the target.

This callback is called synchronously so special care should be taken to not impact overall performance.

The callback can return a Connection that will then be used to send the request. It can also return a RequestSpec to override the request sent to the target.

This will only be called if the user has enabled it for a given domain in the settings for Upstream Plugins.

Parameters
Parameter Type
callback (sdk: SDK<API, Events>, request: RequestSpecRaw) => MaybePromise<UpstreamResult>
Returns

void

Example
sdk.events.onUpstream(async (sdk, request) => {
   // Send all requests to example.com
   return {
     connection: await sdk.net.connect("https://example.com"),
   };
});

UpstreamResult

UpstreamResult = Connection | RequestSpec | { connection?: Connection; request?: RequestSpec; } | undefined

The result of an upstream callback.