You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.6 KiB
71 lines
1.6 KiB
export interface ExtensionBaseRequest {} |
|
|
|
export type ExtensionBaseResponse<T = object> = |
|
| ({ |
|
success: true; |
|
} & T) |
|
| { |
|
success: false; |
|
error: string; |
|
}; |
|
|
|
export type ExtensionHelloResponse = ExtensionBaseResponse<{ |
|
version: string; |
|
allowed: boolean; |
|
hasPermission: boolean; |
|
}>; |
|
|
|
export interface ExtensionMakeRequest extends ExtensionBaseRequest { |
|
url: string; |
|
method: string; |
|
headers?: Record<string, string>; |
|
body?: string | Record<string, any>; |
|
bodyType?: "string" | "FormData" | "URLSearchParams" | "object"; |
|
} |
|
|
|
export type ExtensionMakeRequestBodyType = ExtensionMakeRequest["bodyType"]; |
|
|
|
export type ExtensionMakeRequestResponse<T> = ExtensionBaseResponse<{ |
|
response: { |
|
statusCode: number; |
|
headers: Record<string, string>; |
|
finalUrl: string; |
|
body: T; |
|
}; |
|
}>; |
|
|
|
export interface ExtensionPrepareStreamRequest extends ExtensionBaseRequest { |
|
ruleId: number; |
|
targetDomains: string[]; |
|
requestHeaders?: Record<string, string>; |
|
responseHeaders?: Record<string, string>; |
|
} |
|
|
|
export interface MmMetadata { |
|
hello: { |
|
req: ExtensionBaseRequest; |
|
res: ExtensionHelloResponse; |
|
}; |
|
makeRequest: { |
|
req: ExtensionMakeRequest; |
|
res: ExtensionMakeRequestResponse<any>; |
|
}; |
|
prepareStream: { |
|
req: ExtensionPrepareStreamRequest; |
|
res: ExtensionBaseResponse; |
|
}; |
|
openPage: { |
|
req: ExtensionBaseRequest & { |
|
page: string; |
|
redirectUrl: string; |
|
}; |
|
res: ExtensionBaseResponse; |
|
}; |
|
} |
|
|
|
interface MpMetadata {} |
|
|
|
declare module "@plasmohq/messaging" { |
|
interface MessagesMetadata extends MmMetadata {} |
|
interface PortsMetadata extends MpMetadata {} |
|
}
|
|
|