yao-node-client
Version:
A node client for yao application development
105 lines (104 loc) • 5.36 kB
TypeScript
export type HttpHeaders = object | object[];
/**
* 使用 http 对象发送 HTTP 请求,参数表与返回值与 http.* 处理器一致
* 虽然可以直接使用fetch,但是在参数与文件处理上比较麻烦
*/
export declare const http: {
/**
* YAO Http Post 代理
* http.Post [<URL>, <Payload (可选)>, <Files (可选)>, <Query(可选)>, <Headers (可选)>] 响应结果 发送 HTTP POST 请求 示例 文档
* @param {string} URL 目标网址
* @param {object} Payload 请求数据, 示例: {"name":"Pet"}, http.Post 发送时候自动添加 Content-type: application/json; charset=utf-8 Header
* @param {object} Files 上传文件, 示例: {"file":"/path/root/file"}, 文件路径为相对路径 相对地址, 示例: /text/foo.txt, 绝对路径为: /data/app/data/text/foo.txt。 如 Files 不为 null,自动添加 Content-type: multipart/form-data Header
* @param {object} Query Query 参数, 示例: {"foo":"bar", "arr[]":"hello,world"}, 对应 Query string: foo=bar&arr[]=hello&arr[]=world
* @param {HttpHeaders} Headers 请求 Header, 示例: {"Secret":"********"} 或 [{"Secret":"********"}, {"Secret":"#####"}]
* @returns
*/
Post: (URL: string, Payload?: object, Files?: object, Query?: object, Headers?: HttpHeaders) => any;
/**
* YAO Http Get 代理
* http.Get [<URL>, <Query (可选)>, <Headers (可选)>] 响应结果 发送 HTTP GET 请求 示例 文档
* @param {string} URL 请求数据
* @param {object} Query Query 参数
* @param {object} Headers 请求 Header
* @returns
*/
Get: (URL: string, Query?: object, Headers?: HttpHeaders) => any;
/**
* YAO Http Head 代理
*
* http.Head [<URL>, <Payload (可选)>, <Query (可选)>, <Headers (可选)>] 响应结果 发送 HTTP HEAD 请求 示例 文档
* @param {string} URL 目标网址
* @param {object} Payload 请求数据
* @param {object} Files 上传文件
* @param {object} Query Query 参数
* @param {object} Headers 请求 Header
* @returns
*/
Head: (URL: string, Payload?: object, Files?: object, Query?: object, Headers?: HttpHeaders) => any;
/**
* YAO Http Put 代理
*
* http.Put [<URL>, <Payload (可选)>, <Query(可选)>, <Headers (可选)>] 响应结果 发送 HTTP PUT 请求 示例 文档
* @param {string} URL 目标网址
* @param {object} Payload 请求数据
* @param {object} Files 上传文件
* @param {object} Query Query 参数
* @param {HttpHeaders} Headers 请求 Header
* @returns
*/
Put: (URL: string, Payload?: object, Files?: object, Query?: object, Headers?: HttpHeaders) => any;
/**
* YAO Http Patch Put 代理
*
* http.Patch [<URL>, <Payload (可选)>, <Query(可选)>, <Headers (可选)>] 响应结果 发送 HTTP PATCH 请求 示例 文档
* @param {string} URL 目标网址
* @param {object} Payload 请求数据
* @param {object} Files 上传文件
* @param {object} Query Query 参数
* @param {HttpHeaders} Headers 请求 Header
* @returns
*/
Patch: (URL: string, Payload?: object, Files?: object, Query?: object, Headers?: HttpHeaders) => any;
/**
* YAO Http Delete 代理
*
* http.Delete [<URL>, <Payload (可选)>, <Query(可选)>, <Headers (可选)>] 响应结果 发送 HTTP DELETE 请求 示例 文档
* @param {string} URL 目标网址
* @param {object} Payload 请求数据
* @param {object} Files 上传文件
* @param {object} Query Query 参数
* @param {HttpHeaders} Headers 请求 Header
* @returns
*/
Delete: (URL: string, Payload?: object, Files?: object, Query?: object, Headers?: HttpHeaders) => any;
/**
* YAO Http Send 代理
*
* http.Send [<METHOD>, <URL>, <Query (可选)>, <Payload (可选)>, <Headers (可选)>] 响应结果 发送 HTTP POST 请求, 返回 JSON 数据 示例 文档
* @param {string} URL 目标网址
* @param {object} Payload 请求数据
* @param {object} Files 上传文件
* @param {object} Query Query 参数
* @param {HttpHeaders} Headers 请求 Header
* @returns
*/
Send: (METHOD: string, URL: string, Payload?: object, Files?: object, Query?: object, Headers?: HttpHeaders) => any;
/**
* http.Stream
* args[0] Method GET/POST/PUT/PATCH/DELETE/...
* args[1] URL
* args[2] Handler procsss name
* args[3] Payload <Optional> "Foo", {"foo":"bar"}, ["foo", "bar", {"k1":"v1"}], "/root/path"
* args[4] Query Params <Optional> {"k1":"v1", "k2":"v2"}, ["k1=v1","k1"="v11","k2"="v2"], [{"k1":"v1"},{"k1":"v11"},{"k2":"v2"}], k1=v1&k1=v11&k2=k2
* args[5] Headers <Optional> {"K1":"V1","K2":"V2"} [{"K1":"V1"},{"K1":"V11"},{"K2":"V2"}]
* @param METHOD HTTP 调用方法
* @param URL http url地址
* @param Callback 回调函数
* @param Payload 请求内容
* @param Query 查询参数对象
* @param Headers 请求头
* @returns normal return 1 exception return -1 break return 0
*/
Stream: (METHOD: string, URL: string, Callback?: Function, Payload?: object, Query?: object, Headers?: HttpHeaders) => number;
};