fdy-scraping is a versatile HTTP client designed for making API requests with support for proxy configuration, debugging, and detailed error handling. It utilizes the got-scraping library for HTTP operations.
To use fdy-scraping, you need to install the got-scraping library. Run the following command to install it via npm:
npm install fdy-scrapingImport fdy-scraping into your Node.js application:
const fdy = require("fdy-scraping");OR
import fdy from "fdy-scraping";Create a new client instance with custom options:
create(options?: FetchClientOptions, debug?: boolean): FdyFetchClient;const client = fdy.create(
{
headers: { Authorization: "Bearer your-token" },
proxy: {
ip: "127.0.0.1",
port: 8080,
protocol: "http",
username: "username",
password: "password",
},
baseUrl: "https://api.example.com",
},
true
); // Set debug mode to trueYou can use the client to make various types of HTTP requests:
request(url, method, body = undefined, headers = undefined, options = undefined)client
.request("/endpoint", "POST", undefined, { Accept: "application/json" })
.then((response) => {
console.log(response.data); // Response data
})
.catch((error) => {
console.error("Error:", error.message);
});get(url, headers = {}, options = {}, enableDebug = false)client
.get("/endpoint", { Accept: "application/json" })
.then((response) => {
console.log(response.data); // Response data
})
.catch((error) => {
console.error("Error:", error.message);
});post(url, body = undefined, headers = {}, options = {}, enableDebug = false)client
.post("/endpoint", JSON.stringify({ key: "value" }), {
"Content-Type": "application/json",
})
.then((response) => {
console.log(response.data); // Response data
})
.catch((error) => {
console.error("Error:", error.message);
});put(url, body = undefined, headers = {}, options = {}, enableDebug = false)client
.put("/endpoint", JSON.stringify({ key: "new-value" }), {
"Content-Type": "application/json",
})
.then((response) => {
console.log(response.data); // Response data
})
.catch((error) => {
console.error("Error:", error.message);
});delete(url, headers = {}, options = {}, enableDebug = false)client
.delete("/endpoint", { Accept: "application/json" })
.then((response) => {
console.log(response.data); // Response data
})
.catch((error) => {
console.error("Error:", error.message);
});fdy-scraping provides detailed error information through the FdyFetchClientError class. Errors include the status code, response data, and request configuration.
client.get("/invalid-endpoint").catch((error) => {
if (error instanceof fdy.FdyFetchClientError) {
console.error("Custom Error Details:");
console.error("Status:", error.status);
console.error("Response:", error.response);
console.error("Config:", error.config);
} else {
console.error("General Error:", error.message);
}
});headers: Optional object containing default headers for requests.proxy: Optional object for proxy configuration.ip: IP address of the proxy server.port: Port of the proxy server.protocol: Protocol used by the proxy (httporhttps).username: Optional username for proxy authentication.password: Optional password for proxy authentication.
baseUrl: Optional base URL for requests.
Debug mode can be enabled by passing true as the second argument to FdyFetchClient.create. When enabled, additional error information will be logged to the console.
This project is licensed under the MIT License - see the LICENSE file for details.
Feel free to adjust the paths, options, or methods according to your actual implementation and package setup.