es6+flowtype request-types
declare class Headers {
@@iterator(): Iterator<[string, string]>;
constructor(init?: HeadersInit): void;
append(name: string, value: string): void;
delete(name: string): void;
entries(): Iterator<[string, string]>;
get(name: string): string;
getAll(name: string): Array<string>;
has(name: string): boolean;
keys(): Iterator<string>;
set(name: string, value: string): void;
values(): Iterator<string>;
}
declare class URLSearchParams {
@@iterator(): Iterator<[string, string]>;
constructor(query?: string | URLSearchParams): void;
append(name: string, value: string): void;
delete(name: string): void;
entries(): Iterator<[string, string]>;
get(name: string): string;
getAll(name: string): Array<string>;
has(name: string): boolean;
keys(): Iterator<string>;
set(name: string, value: string): void;
values(): Iterator<string>;
}
type CacheType = 'default' | 'no-store' | 'reload' | 'no-cache' | 'force-cache' | 'only-if-cached';
type CredentialsType = 'omit' | 'same-origin' | 'include';
type ModeType = 'cors' | 'no-cors' | 'same-origin';
type RedirectType = 'follow' | 'error' | 'manual';
type MethodType = 'GET' | 'POST' | 'DELETE' | 'HEAD' | 'OPTIONS' | 'PUT' | 'PATCH' ;
type ReferrerPolicyType =
'' | 'no-referrer' | 'no-referrer-when-downgrade' | 'origin-only' |
'origin-when-cross-origin' | 'unsafe-url';
type ResponseType = 'basic' | 'cors' | 'default' | 'error' | 'opaque' | 'opaqueredirect' ;
type RequestOptions = {
body?: ?(Blob | FormData | URLSearchParams | string);
cache?: ?CacheType;
credentials?: ?CredentialsType;
headers?: ?HeadersInit;
integrity?: ?string;
method?: ?MethodType;
mode?: ?ModeType;
redirect?: ?RedirectType;
referrer?: ?string;
referrerPolicy?: ?ReferrerPolicyType;
}
type ResponseOptions = {
status?: ?number;
statusText?: ?string;
headers?: ?HeadersInit
}
declare class Response {
constructor(input?: string | URLSearchParams | FormData | Blob, init?: ResponseOptions): void;
clone(): Response;
static error(): Response;
static redirect(url: string, status: number): Response;
type: ResponseType;
url: string;
useFinalURL: boolean;
ok: boolean;
status: number;
statusText: string;
headers: Headers;
// Body methods and attributes
bodyUsed: boolean;
body: ?ReadableStream,
arrayBuffer(): Promise<ArrayBuffer>;
blob(): Promise<Blob>;
formData(): Promise<FormData>;
json(): Promise<any>;
text(): Promise<string>;
}
declare class Request {
constructor(input: string | Request, init?: RequestOptions): void;
clone(): Request;
url: string;
cache: CacheType;
credentials: CredentialsType;
headers: Headers;
integrity: string;
method: MethodType;
mode: ModeType;
redirect: RedirectType;
referrer: string;
referrerPolicy: ReferrerPolicyType;
// Body methods and attributes
bodyUsed: boolean;
arrayBuffer(): Promise<ArrayBuffer>;
blob(): Promise<Blob>;
formData(): Promise<FormData>;
json(): Promise<any>;
text(): Promise<string>;
}
declare function fetch(input: string | Request, init?: RequestOptions): Promise<Response>;