http/http.ts

74 lines
2.4 KiB
TypeScript
Raw Normal View History

2024-10-15 10:45:04 +08:00
// just for develop
export default {
new: new_,
newH2C,
get,
head,
post,
put,
delete: delete_,
do: do_,
upload,
download,
connect
}
function new_(config?: Config): Client { return null as any }
function newH2C(config?: Config): Client { return null as any }
function get(url: string, headers?: Object): Result { return null as any }
function head(url: string, headers?: Object): Result { return null as any }
function post(url: string, data: any, headers?: Object): Result { return null as any }
function put(url: string, data: any, headers?: Object): Result { return null as any }
function delete_(url: string, data: any, headers?: Object): Result { return null as any }
function do_(method: string, url: string, data: any, callback?: (data: string) => void, headers?: Object): Result { return null as any }
function upload(url: string, form: Object, files: Object, headers?: Object): Result { return null as any }
function download(filename: string, url: string, callback?: (finished: number, total: number) => void, headers?: Object): Result { return null as any }
function connect(url: string, config?: WSConfig): WS { return null as any }
interface Client {
get(url: string, headers?: Object): Result
head(url: string, headers?: Object): Result
post(url: string, data: any, headers?: Object): Result
put(url: string, data: any, headers?: Object): Result
delete(url: string, data: any, headers?: Object): Result
do(method: string, url: string, data: any, callback?: (data: string) => void, headers?: Object): Result
upload(url: string, form: Object, files: Object, headers?: Object): Result
download(filename: string, url: string, callback?: (finished: number, total: number) => void, headers?: Object): Result
}
interface Result {
status: string
statusCode: number
headers: Object
bytes(): Uint8Array
string(): string
object(): Object
}
interface Config {
timeout: number
baseURL: string
globalHeaders: Map<string, string>
downloadPartSize: number
redirect: boolean
}
interface WSConfig {
headers: Object
compress: boolean
onOpen: () => void
onClose: (code: number, data: string) => void
onMessage: (data: any) => void
onJSONMessage: (data: any) => void
pingInterval: number
reconnectInterval: number
}
interface WS {
read(): any
readJSON(): any
write(data: any): void
writeJSON(data: any): void
close(): void
}