forked from loafle/openapi-generator-original
51 lines
1.1 KiB
TypeScript
51 lines
1.1 KiB
TypeScript
export enum HttpMethod {
|
|
GET = "GET",
|
|
HEAD = "HEAD",
|
|
POST = "POST",
|
|
PUT = "PUT",
|
|
DELETE = "DELETE",
|
|
CONNECT = "CONNECT",
|
|
OPTIONS = "OPTIONS",
|
|
TRACE = "TRACE",
|
|
PATCH = "PATCH"
|
|
}
|
|
|
|
export interface FormEntry {
|
|
contentType: string;
|
|
value: string | Blob;
|
|
}
|
|
|
|
export type FormData = { [key: string]: FormEntry };
|
|
|
|
|
|
export class RequestContext {
|
|
public headers: { [key: string]: string } = {};
|
|
public body: string | FormData = "";
|
|
|
|
public constructor(public url: string, public httpMethod: HttpMethod) {
|
|
|
|
}
|
|
|
|
public addCookie(name: string, value: string): void {
|
|
if (!this.headers["Cookie"]) {
|
|
this.headers["Cookie"] = "";
|
|
}
|
|
this.headers["Cookie"] += name + "=" + value + "; ";
|
|
}
|
|
|
|
public setHeader(key: string, value: string): void {
|
|
this.headers[key] = value;
|
|
}
|
|
}
|
|
|
|
export class ResponseContext {
|
|
|
|
public constructor(public httpStatusCode: number,
|
|
public headers: { [key: string]: string }, public body: string) {
|
|
}
|
|
|
|
}
|
|
|
|
export interface HttpLibrary {
|
|
send(request: RequestContext): Promise<ResponseContext>;
|
|
} |