Http
API interfaces related to network communication. Supports renderer processes
, main process
, and preload
and can be called from anywhere.
Purpose
The primary purpose of Http is to initiate network requests to interact with server interfaces.
Example
Initiate a GET request.
ts
import { http } from "electron-prokit";
http({
url: "https://jsonplaceholder.typicode.com/posts/1",
method: "get",
})
.catch(function (error) {
// 处理错误情况
console.log(error);
})
.finally(function () {
// 总是会执行
});
import { http } from "electron-prokit";
http({
url: "https://jsonplaceholder.typicode.com/posts/1",
method: "get",
})
.catch(function (error) {
// 处理错误情况
console.log(error);
})
.finally(function () {
// 总是会执行
});
Request Configuration
These are the configuration options that can be used when creating a request. Only the URL is required. If the method is not specified, the request will default to using the GET method.
ts
{
// `url` is the server URL used for the request
url: '/user',
// `method` is the method used when creating the request
method: 'get', // Default value
// Custom request headers
headers: {'X-Requested-With': 'XMLHttpRequest'},
// `params` are URL parameters sent along with the request
// Must be a simple object or URLSearchParams object
params: {
ID: 12345
},
// `data` is the data sent as the request body
data: {
firstName: 'Fred'
},
// `timeout` specifies the timeout for the request in milliseconds.
// If the request takes longer than the `timeout` value, the request will be aborted
timeout: 1000, // Default is `0` (no timeout)
// Error handling
handleError: function (error) {
console.log()
}
// Logging handling / boolean type, function, or empty
// boolean means print to console, function allows custom logging
log: true
}
{
// `url` is the server URL used for the request
url: '/user',
// `method` is the method used when creating the request
method: 'get', // Default value
// Custom request headers
headers: {'X-Requested-With': 'XMLHttpRequest'},
// `params` are URL parameters sent along with the request
// Must be a simple object or URLSearchParams object
params: {
ID: 12345
},
// `data` is the data sent as the request body
data: {
firstName: 'Fred'
},
// `timeout` specifies the timeout for the request in milliseconds.
// If the request takes longer than the `timeout` value, the request will be aborted
timeout: 1000, // Default is `0` (no timeout)
// Error handling
handleError: function (error) {
console.log()
}
// Logging handling / boolean type, function, or empty
// boolean means print to console, function allows custom logging
log: true
}
Interceptors
ts
// Add a request interceptor
http.interceptors.request.use(
function (config) {
// Do something before sending the request
return config;
},
function (error) {
// Do something with the request error
return Promise.reject(error);
}
);
// Add a response interceptor
http.interceptors.response.use(
function (response) {
// Do something with the response data
return response;
},
function (error) {
// Do something with the response error
return Promise.reject(error);
}
);
// Add a request interceptor
http.interceptors.request.use(
function (config) {
// Do something before sending the request
return config;
},
function (error) {
// Do something with the request error
return Promise.reject(error);
}
);
// Add a response interceptor
http.interceptors.response.use(
function (response) {
// Do something with the response data
return response;
},
function (error) {
// Do something with the response error
return Promise.reject(error);
}
);