popsicle-transport-xhr
Version:
Popsicle transport for sending requests over `XMLHttpRequest`
57 lines (56 loc) • 1.62 kB
TypeScript
import { Request, Response, ResponseOptions, CreateBody } from "servie/dist/browser";
/**
* Extend response with URL.
*/
export interface XhrResponseOptions extends ResponseOptions {
url: string;
}
/**
* XHR responses can indicate a response URL.
*/
export declare class XhrResponse extends Response implements XhrResponseOptions {
url: string;
constructor(body: CreateBody, options: XhrResponseOptions);
}
/**
* Valid XHR configuration.
*/
export interface TransportOptions {
type?: XMLHttpRequestResponseType;
withCredentials?: boolean;
overrideMimeType?: string;
}
export declare class BlockedRequestError extends Error {
request: Request;
code: string;
constructor(request: Request, message: string);
}
export declare class InvalidRequestError extends Error {
request: Request;
code: string;
constructor(request: Request, message: string);
}
export declare class ConnectionError extends Error {
request: Request;
code: string;
constructor(request: Request, message: string);
}
export declare class CSPError extends Error {
request: Request;
code: string;
constructor(request: Request, message: string);
}
export declare class TypeError extends Error {
request: Request;
code: string;
constructor(request: Request, message: string);
}
export declare class AbortError extends Error {
request: Request;
code: string;
constructor(request: Request, message: string);
}
/**
* Forward request over `XMLHttpRequest`.
*/
export declare function transport(options?: TransportOptions): (req: Request) => Promise<XhrResponse>;