123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- import tauri from './tauri'
- /**
- * @typedef {number} ResponseType
- */
- /**
- * @enum {ResponseType}
- */
- const ResponseType = {
- JSON: 1,
- Text: 2,
- Binary: 3
- }
- /**
- * @typedef {number} BodyType
- */
- /**
- * @enum {BodyType}
- */
- const BodyType = {
- Form: 1,
- File: 2,
- Auto: 3
- }
- /**
- * @typedef {Object} HttpOptions
- * @property {String} options.method GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS, CONNECT or TRACE
- * @property {String} options.url the request URL
- * @property {Object} [options.headers] the request headers
- * @property {Object} [options.propertys] the request query propertys
- * @property {Object|String|Binary} [options.body] the request body
- * @property {Boolean} followRedirects whether to follow redirects or not
- * @property {Number} maxRedirections max number of redirections
- * @property {Number} connectTimeout request connect timeout
- * @property {Number} readTimeout request read timeout
- * @property {Number} timeout request timeout
- * @property {Boolean} allowCompression
- * @property {ResponseType} [responseType=1] response type
- * @property {BodyType} [bodyType=3] body type
- */
- /**
- * makes a HTTP request
- *
- * @param {HttpOptions} options request options
- *
- * @return {Promise<any>} promise resolving to the response
- */
- function request (options) {
- return tauri.httpRequest(options)
- }
- /**
- * makes a GET request
- *
- * @param {String} url request URL
- * @param {String|Object|Binary} body request body
- * @param {HttpOptions} options request options
- *
- * @return {Promise<any>} promise resolving to the response
- */
- function get (url, options = {}) {
- return request({
- method: 'GET',
- url,
- ...options
- })
- }
- /**
- * makes a POST request
- *
- * @param {String} url request URL
- * @param {String|Object|Binary} body request body
- * @param {HttpOptions} options request options
- *
- * @return {Promise<any>} promise resolving to the response
- */
- function post (url, body = void 0, options = {}) {
- return request({
- method: 'POST',
- url,
- body,
- ...options
- })
- }
- /**
- * makes a PUT request
- *
- * @param {String} url request URL
- * @param {String|Object|Binary} body request body
- * @param {HttpOptions} options request options
- *
- * @return {Promise<any>} promise resolving to the response
- */
- function put (url, body = void 0, options = {}) {
- return request({
- method: 'PUT',
- url,
- body,
- ...options
- })
- }
- /**
- * makes a PATCH request
- *
- * @param {String} url request URL
- * @param {HttpOptions} options request options
- *
- * @return {Promise<any>} promise resolving to the response
- */
- function patch (url, options = {}) {
- return request({
- method: 'PATCH',
- url,
- ...options
- })
- }
- /**
- * makes a DELETE request
- *
- * @param {String} url request URL
- * @param {HttpOptions} options request options
- *
- * @return {Promise<any>} promise resolving to the response
- */
- function deleteRequest (url, options = {}) {
- return request({
- method: 'DELETE',
- url,
- ...options
- })
- }
- export {
- request,
- get,
- post,
- put,
- patch,
- deleteRequest,
- ResponseType,
- BodyType
- }
- export default {
- request,
- get,
- post,
- put,
- patch,
- delete: deleteRequest,
- ResponseType,
- BodyType
- }
|