@nestia/fetcher
Version:
Fetcher library of Nestia SDK
56 lines (55 loc) • 1.6 kB
TypeScript
/**
* Properties of remote API route.
*
* @author Jeongho Nam - https://github.com/samchon
*/
export interface IFetchRoute<Method extends "HEAD" | "GET" | "POST" | "PUT" | "PATCH" | "DELETE"> {
/**
* Method of the HTTP request.
*/
method: Method;
/**
* Path of the HTTP request.
*/
path: string;
/**
* Path template.
*
* Filled since 3.2.2 version.
*/
template?: string;
/**
* Request body data info.
*/
request: Method extends "DELETE" | "POST" | "PUT" | "PATCH" ? IFetchRoute.IBody | null : null;
/**
* Response body data info.
*/
response: Method extends "HEAD" ? null : IFetchRoute.IBody;
/**
* When special status code being used.
*/
status: number | null;
/**
* Parser of the query string.
*
* If content type of response body is `application/x-www-form-urlencoded`,
* then this `parseQuery` function would be called.
*
* If you've forgotten to configuring this `parseQuery` property about the
* `application/x-www-form-urlencoded` typed response body data, then
* only the `URLSearchParams` typed instance would be returned instead.
*/
parseQuery?(input: URLSearchParams): any;
}
export declare namespace IFetchRoute {
/**
* Metadata of body.
*
* Describes how content-type being used in body, and whether encrypted or not.
*/
interface IBody {
type: "application/json" | "application/x-www-form-urlencoded" | "multipart/form-data" | "text/plain";
encrypted?: boolean;
}
}