Request messaging

This commit is contained in:
mrjvs
2024-01-10 18:21:04 +01:00
parent 441d1cb617
commit 3a8144ee67

View File

@@ -15,14 +15,16 @@ export interface Request extends BaseRequest {
body?: string | FormData | URLSearchParams; body?: string | FormData | URLSearchParams;
} }
type Response = BaseResponse<{ type Response<T> = BaseResponse<{
status: number; response: {
requestHeaders: Record<string, string>; statusCode: number;
responseHeaders: Record<string, string>; headers: Record<string, string>;
body: string | Record<string, unknown>; finalUrl: string;
body: T;
};
}>; }>;
const handler: PlasmoMessaging.MessageHandler<Request, Response> = async (req, res) => { const handler: PlasmoMessaging.MessageHandler<Request, Response<any>> = async (req, res) => {
try { try {
await validateDomainWhiteList(req.body.requestDomain); await validateDomainWhiteList(req.body.requestDomain);
@@ -36,10 +38,12 @@ const handler: PlasmoMessaging.MessageHandler<Request, Response> = async (req, r
res.send({ res.send({
success: true, success: true,
status: response.status, response: {
requestHeaders: req.body.headers, statusCode: response.status,
responseHeaders: Object.fromEntries(response.headers.entries()), headers: Object.fromEntries(response.headers.entries()), // Headers object isn't serializable
body, body,
finalUrl: response.url,
},
}); });
} catch (err) { } catch (err) {
res.send({ res.send({