123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- import { promisified } from './tauri'
- import { HttpOptions, Body, BodyType, ResponseType, PartialOptions } from './types/http'
- /**
- * makes a HTTP request
- *
- * @param options request options
- *
- * @return promise resolving to the response
- */
- async function request<T>(options: HttpOptions): Promise<T> {
- return await promisified({
- cmd: 'httpRequest',
- options: options
- })
- }
- /**
- * makes a GET request
- *
- * @param url request URL
- * @param options request options
- *
- * @return promise resolving to the response
- */
- async function get<T>(url: string, options: PartialOptions): Promise<T> {
- return await request({
- method: 'GET',
- url,
- ...options
- })
- }
- /**
- * makes a POST request
- *
- * @param url request URL
- * @param body request body
- * @param options request options
- *
- * @return promise resolving to the response
- */
- async function post<T>(url: string, body: Body, options: PartialOptions): Promise<T> {
- return await request({
- method: 'POST',
- url,
- body,
- ...options
- })
- }
- /**
- * makes a PUT request
- *
- * @param url request URL
- * @param body request body
- * @param options request options
- *
- * @return promise resolving to the response
- */
- async function put<T>(url: string, body: Body, options: PartialOptions): Promise<T> {
- return await request({
- method: 'PUT',
- url,
- body,
- ...options
- })
- }
- /**
- * makes a PATCH request
- *
- * @param url request URL
- * @param options request options
- *
- * @return promise resolving to the response
- */
- async function patch<T>(url: string, options: PartialOptions): Promise<T> {
- return await request({
- method: 'PATCH',
- url,
- ...options
- })
- }
- /**
- * makes a DELETE request
- *
- * @param url request URL
- * @param options request options
- *
- * @return promise resolving to the response
- */
- async function deleteRequest<T>(url: string, options: PartialOptions): Promise<T> {
- return await request({
- method: 'DELETE',
- url,
- ...options
- })
- }
- export default {
- request,
- get,
- post,
- put,
- patch,
- delete: deleteRequest,
- ResponseType,
- BodyType
- }
|