@acheetahk/request v2.10.4
Please use version greater than 2.9.0
Methods Nav
- about - request
- about - proxy
- about - file
Installation
npm install @acheetahk/request
cnpm install @acheetahk/request
yarn add @acheetahk/requestDependencies
{
    "@types/express": "^4.17.8",
    "@types/form-data": "^2.5.0",
    "axios": "^0.21.0",
    "form-data": "^3.0.0"
}Usage
fastRequest
fastRequest - get
  import { fastRequest } from '@acheetahk/request';
  const response = await fastRequest({ url: <YOUR URL>, method: 'GET' });fastRequest - post
  import { fastRequest } from '@acheetahk/request';
  const response = await fastRequest({ url: <YOUR URL>, method: 'POST', data: { value: 'test post' } });fastRequest - options
| param | type | explain | require | 
|---|---|---|---|
| url | string | url | true | 
| method | GETDELETEHEADOPTIONSPOSTPUTPATCHPURGELINKUNLINK | method | true | 
| headers | any | header | false | 
| query | any | Concatenate parameters in the URL | false | 
| data | any | dataApply only to these request methods 'PUT', 'POST', and 'PATCH' | false | 
| timeout | number | timeout Units are seconds | false | 
| withCredentials | boolean | allows cookie information to be carried across domains | false | 
| responseType | arraybufferblobdocumentjsontextstream | response-type | false | 
| onUploadProgress | (progressEvent: any) => void | Configure the progress on upload | false | 
| onDownloadProgress | (progressEvent: any) => void | Configure the progress on download | false | 
| proxy | { host: string,port: number,auth: {username: string,password: string } } | Configure proxy | false | 
| decompress | boolean | indicates whether or not the response body should be decompressed | false | 
fastFormData
fastFormData - example
  import * as fs from 'fs';
  import { fastFormData } from '@acheetahk/request';
  const response = await fastFormData(
    {
      url,
      data: {
        name: 'test formData',
        file: fs.createReadStream(resolve(__dirname, './xx.xx')),
      },
    },
  );fastFormData - options
| param | type | explain | require | 
|---|---|---|---|
| url | string | Resources to address | true | 
| data | any | form-data body | true | 
| configs | RequestOptions | ⬇️ 👀 | true | 
fastFormData - options - configs
| param | type | explain | require | 
|---|---|---|---|
| headers | any | header | false | 
| timeout | number | timeout Units are seconds | false | 
| withCredentials | boolean | allows cookie information to be carried across domains | false | 
| responseType | arraybufferblobdocumentjsontextstream | response-type | false | 
| onUploadProgress | (progressEvent: any) => void | Configure the progress on upload | false | 
| onDownloadProgress | (progressEvent: any) => void | Configure the progress on download | false | 
| decompress | boolean | indicates whether or not the response body should be decompressed | false | 
fastProxy
Delegate to the specified express.js / nest.js service
fastProxy - example for nest.js
import { NestFactory } from '@nestjs/core';
import { Module, All, Controller, HttpCode, HttpStatus, InternalServerErrorException, Req } from '@nestjs/common';
@Controller('demo')
class DemoController {
  @All()
  @HttpCode(HttpStatus.OK)
  async demo(@Req() requset: Request) {
    try {
      await fastProxy(
        requset,
        requset.res,
        {
          host: '<The server host that requires a proxy>',
          port: '<The server port that requires a proxy>',
          isRewrite: true,
          rewrite: '/demo',
          body: requset.body,
          path: requset.originalUrl,
          headers: requset.headers,
        },
      );
    } catch (error) {
      throw new InternalServerErrorException('Error');
    }
  }
}
const app = await NestFactory.create(CoreModule, { cors: true });
await app.listen(8000);fastProxy - example of express.js
import * as express from 'express';
import { fastProxy } from '@acheetahk/request';
const app = express();
const router = express.Router();
app.use('/express', router);
router.all('*', async (requset: Request, response: Response) => {
  await fastProxy(
    requset,
    response,
    {
      host: '<The server host that requires a proxy>',
      port: '<The server port that requires a proxy>',
      isRewrite: true,
      rewrite: '/express',
      body: requset.body,
      path: requset.originalUrl,
      headers: requset.headers,
    },
  );
});
const server = app.listen(8000);fastProxy - options
| param | type | explain | require | 
|---|---|---|---|
| req | express.request | The bottom layer is HTTP.IncomingMessage | true | 
| res | express.response | The bottom layer is HTTP.ServerResponse | true | 
| options | ProxyOptions | ⬇️ 👀 | true | 
fastProxy - options - options
| param | type | explain | require | 
|---|---|---|---|
| host | string | The server host that requires a proxy | true | 
| port | number | The server port that requires a proxy | true | 
| path | string | The routing address | true | 
| headers | any | The request header | true | 
| body | any | The request body | false | 
| timeout | number | timeout Units are seconds | false | 
| isRewrite | boolean | Whether to override the routing address | false | 
| rewrite | string | example of rewrite rule: '/express' ==> '/'or'/express/test' ==> '/test' | false | 
fileDownload
fileDownload - example
Download the file and return to the local file path
import { resolve } from 'path';
const path = resolve(__dirname, './fileDownload');
const url = <YOUR FILE URL>;
// result -> The full path of the downloaded file
const result = await fileDownload(url, path);fileDownload - args
| param | type | require | 
|---|---|---|
| url | string | true | 
| path | string | true | 
fileToStr
fileToStr - example
Convert the network file into a string of the specified encoding
const url = <YOUR FILE URL>;
const result = await fileToStr(url);fileToStr - args
| param | type | explain | require | 
|---|---|---|---|
| url | string | url | true | 
| type | string | Encoding type, the default is base64 | true | 
fileToBuffer
fileToBuffer - example
Convert web files to Buffer
const url = <YOUR FILE URL>;
const result = await fileToBuffer(url, path);fileToBuffer - args
| param | type | require | 
|---|---|---|
| url | string | true | 
fileToDuplexStream
fileToDuplexStream - example
Convert web files to Duplex Stream
const url = <YOUR FILE URL>;
const result = await fileToDuplexStream(url, path);fileToDuplexStream - args
| param | type | require | 
|---|---|---|
| url | string | true | 
bufferToStream
bufferToStream - example
const result = await bufferToStream(buffer);bufferToStream - args
| param | type | require | 
|---|---|---|
| buffer | Buffer | true | 
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago