Guide - acarsy01/hsfs GitHub Wiki
Welcome to the hsfs guide!
HSFS can run in browser, node and CLI.
you must include necessary scripts.
<script src="http://unpkg.com/hsfs/dist/XXXXAdapter.js"></script>
<script src="http://unpkg.com/hsfs/dist/HSFS.js"></script>
XXXXAdapter
must be adapter in A group.
Then you must to write your code in script
tag;
<script>
(async() => { // To use await, because hsfs.finalize() is promise.
let request = HSFS.request("http://site.domain/"); // Set URL where request
request = request.setAdapter(XXXXAdapter); // Set adapter
request = request.setMethod("HTTP_METHOD") // e.g. "POST", default method is "GET" so it isn't necessary.
request = request.addHeader("HEADER_NAME", "HEADER_VALUE"); // Add a header
request = request.addHeaders("HEADER_NAME", "HEADER_VALUE", "HEADER_NAME", "HEADER_VALUE"); // Add headers
request = request.deleteHeader("HEADER_NAME", "HEADER_VALUE"); // Delete a header
request = request.setData("DATA_TO_SEND_WITH_REQUEST"); // Data to send with request, data methods (e.g. "POST") is necessary.
request = request.useFormData(FormData); // Use FormData when request, data is necessary.
request = await request.finalize(); // Make request
console.log(request); // Request response
console.log(HSFS.version); // hsfs version
})();
</script>
you must install dependency.
npm install hsfs
Then you must to write your code in file which has js
extension;
const hsfs = require("hsfs");
const XXXXAdapter = require("hsfs/requestAdapters/XXXXAdapter");
const formData = require("form-data");
(async() => { // To use await, because hsfs.finalize() is promise.
let request = hsfs.request("http://site.domain/"); // Set URL where request
request = request.setAdapter(XXXXAdapter); // Set adapter
request = request.setMethod("HTTP_METHOD"); // e.g. "POST", default method is "GET" so it isn't necessary.
request = request.addHeader("HEADER_NAME", "HEADER_VALUE"); // Add a header
request = request.addHeaders("HEADER_NAME", "HEADER_VALUE", "HEADER_NAME", "HEADER_VALUE"); // Add headers
request = request.deleteHeader("HEADER_NAME", "HEADER_VALUE"); // Delete a header
request = request.setData("DATA_TO_SEND_WITH_REQUEST"); // Data to send with request, data methods (e.g. "POST") is necessary.
request = request.useFormData(formData); // Use FormData when request, data is necessary.
request = await request.finalize(); // Make request
console.log(request); // Request response
console.log(hsfs.version); // hsfs version
})();
XXXXAdapter
must be adapter in B group..
you must install dependency globally.
npm i -g hsfs
Then you must to write your command in CLI. (e.g. windows cmd, powershell, terminal)
hsfs [options]
Option | Class prototype | Class function |
---|---|---|
url | url | constructor(url) |
adapter | adapter | setAdapter(adapter) |
method | method | setMethod(method) |
data | data | setData(data) |
hsfs --url=http:/example.com --adapter=XXXXAdapter --method=POST --data=DATA_WHICH_SEND
XXXXAdapter
must be adapter in B group. Result is request's response.
Adapter | Group | Description |
---|---|---|
FetchAdapter | A | Using MDN's fetch API. |
XMLHttpRequestAdapter | A | Using MDN's XMLHttpRequest API. |
HTTPAdapter | B | Using Node's http API. |
HTTP2Adapter | B | Using Node's http2 API. |