bun-plugin-httpfile
TypeScript icon, indicating that this package has built-in type declarations

0.1.0 • Public • Published

bun-plugin-httpfile

An Bun plugin to import httpfile for HTTP Request/GraphQL request.

How to use?

  • Create a http file, such as demo.http, code as following:
### get my ip
//@name my-ip
GET https://httpbin.org/ip
User-Agent: curl/7.47.0

### post test
//@name post-test
POST https://{{host}}/post
User-Agent: curl/7.47.0
Content-Type: application/json

{
  "name": "{{nick}}",
  "age": 42,
  "uuid": "{{$uuid}}"
}
  • Add bun-plugin-httpfile to your project's package.json or npm add -D bun-plugin-httpfile.
 "devDependencies": {
    "bun-plugin-httpfile": "^0.1.0"
  }
  • In JavaScript/TypeScript file, such as hello-http.js, and you can import http file directly. Code as following:
import { plugin } from "bun";

// httpfile plugin
import httpfilePlugin from 'bun-plugin-httpfile';
plugin(httpfilePlugin());


import {myip} from "./demo.http";

let response = await myip();
console.log(await response.json());

Mock Support

You can mock request by adding //@mock tag for request. Code as following:

### get my ip
//@name myIp
//@mock {"origin":"127.0.0.1"}
GET https://httpbin.org/ip

For multi lines data, please add more //@mock lines.

### get csv data
//@name myData
//@mock name,gender
//@mock linux_china,M
GET https://your_service/data
Accept: text/csv

Note: if process.env.NODE_ENV is production, then mock data will not be used.

GraphQ over HTTP support

Create GraphQL request in http file, code as following:

### graphql test
//@name graphqlTest
GRAPHQL https://localhost:8787/graphql

query {
   welcome(name : "{{nick}}" )
}

Then call let response = await graphqlTest({nick:'your_nick'}) just like normal HTTP request.

References

Readme

Keywords

Package Sidebar

Install

npm i bun-plugin-httpfile

Weekly Downloads

0

Version

0.1.0

License

ISC

Unpacked Size

18 kB

Total Files

10

Last publish

Collaborators

  • linux_china