{"id":17216216,"url":"https://github.com/ganeshkbhat/apis-request","last_synced_at":"2025-10-15T19:17:24.860Z","repository":{"id":62668705,"uuid":"560444392","full_name":"ganeshkbhat/apis-request","owner":"ganeshkbhat","description":"npm module with APIs for cleaner request and basic http requests utils. Contains constants for protocols, http headers, methods, and content types","archived":false,"fork":false,"pushed_at":"2024-02-04T01:42:22.000Z","size":453,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-26T15:44:41.964Z","etag":null,"topics":["api","apis","concurrency","constants","content-types","delete","get","headers","http","http-headers","http-methods","httpheaders","https","methods","options","patch","post","put","requests","requests-apis"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ganeshkbhat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-01T14:15:00.000Z","updated_at":"2025-02-21T21:49:44.000Z","dependencies_parsed_at":"2024-02-04T02:32:19.070Z","dependency_job_id":"b19ce817-4d02-49ce-b77a-39d3cc916514","html_url":"https://github.com/ganeshkbhat/apis-request","commit_stats":{"total_commits":40,"total_committers":2,"mean_commits":20.0,"dds":"0.025000000000000022","last_synced_commit":"a7feca190a01c68d8460201417937d2a10da5f73"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/ganeshkbhat/apis-request","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshkbhat%2Fapis-request","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshkbhat%2Fapis-request/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshkbhat%2Fapis-request/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshkbhat%2Fapis-request/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ganeshkbhat","download_url":"https://codeload.github.com/ganeshkbhat/apis-request/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ganeshkbhat%2Fapis-request/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279105274,"owners_count":26104715,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-15T02:00:07.814Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","apis","concurrency","constants","content-types","delete","get","headers","http","http-headers","http-methods","httpheaders","https","methods","options","patch","post","put","requests","requests-apis"],"created_at":"2024-10-15T03:27:11.786Z","updated_at":"2025-10-15T19:17:24.846Z","avatar_url":"https://github.com/ganeshkbhat.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# request-apis\nnpm module with APIs for cleaner request and basic http requests utils. Contains constants for protocols, http headers, methods, and content types\n\n\nFind the demos in the [demos folder](./demos)\n\n## Usage:\n\n\nUsing `request` function using request-apis package\n\n```\n\nconst reqApis = require(\"request-apis\");\nreqApis.request(\"https://www.google.com\").then(r =\u003e r.text()).then(r =\u003e console.log(r));\n\n```\n\nUsing `_fetch` function using request-apis package\n\n```\n\nconst reqApis = require(\"request-apis\");\nreqApis._fetch(\"https://www.google.com\", \"text\").then(r =\u003e console.log(r));\n\n```\n\n\n## All request-apis Methods:\n\n\n#### request\nCreate a general `any` method request. Allows for handling connect, error, upgrade events specifically. Simple implementation and allows for request and response interceptor functions.\n\n\nUsage:\n\n`.request(options, data, protocol, connectHandler, contentHandler, errorHandler, upgradeHandler)`\n\n\n```\n/**\n *\n *\n * @param {*} options\n * @param {*} data\n * @param {*} protocol\n * @param {*} connectHandler\n * @param {*} contentHandler\n * @param {*} errorHandler\n * @param {*} upgradeHandler\n * @return {*} Promise: resolve\u003c{ headers, body }\u003e, reject \u003c{ error }\u003e \n * \n */\n```\n\n\n#### getRequest\nCreate a get request. Allows for handling connect, error, upgrade events specifically. Simple implementation and allows for request and response interceptor functions.\n\n\nUsage:\n\n`.getRequest(options, data, protocol, connectHandler, contentHandler, errorHandler, upgradeHandler)`\n\n`.getRequest(options)`\n\n`.get(options)`\n\n\n```\n/**\n *\n *\n * @param {*} options\n * @param {*} data\n * @param {*} protocol\n * @param {*} connectHandler\n * @param {*} contentHandler\n * @param {*} errorHandler\n * @param {*} upgradeHandler\n * @return {*} Promise: resolve\u003c{ headers, body }\u003e, reject \u003c{ error }\u003e \n * \n */\n```\n\n\n#### postRequest\nCreate a post request. Allows for handling connect, error, upgrade events specifically. Simple implementation and allows for request and response interceptor functions.\n\n\nUsage:\n\n`.postRequest(options, data, protocol, connectHandler, contentHandler, errorHandler, upgradeHandler)`\n\n`.postRequest(options, data, protocol)`\n\n`.post(options, data, protocol)`\n\n\n```\n/**\n *\n *\n * @param {*} options\n * @param {*} data\n * @param {*} protocol\n * @param {*} connectHandler\n * @param {*} contentHandler\n * @param {*} errorHandler\n * @param {*} upgradeHandler\n * @return {*} Promise: resolve\u003c{ headers, body }\u003e, reject \u003c{ error }\u003e \n * \n */\n```\n\n\n#### putRequest\nCreate a put request. Allows for handling connect, error, upgrade events specifically. Simple implementation and allows for request and response interceptor functions.\n\n\nUsage:\n\n`.putRequest(options, data, protocol, connectHandler, contentHandler, errorHandler, upgradeHandler)`\n\n`.putRequest(options, data, protocol)`\n\n`.put(options, data, protocol)`\n\n\n```\n/**\n *\n * @param {*} options\n * @param {*} data\n * @param {*} protocol\n * @param {*} connectHandler\n * @param {*} contentHandler\n * @param {*} errorHandler\n * @param {*} upgradeHandler\n * @return {*} Promise: resolve\u003c{ headers, body }\u003e, reject \u003c{ error }\u003e\n * \n */\n```\n\n\n#### patchRequest\nCreate a patch request. Allows for handling connect, error, upgrade events specifically. Simple implementation and allows for request and response interceptor functions.\n\n\n`.patchRequest(options, data, protocol, connectHandler, contentHandler, errorHandler, upgradeHandler)`\n\n`.patchRequest(options, data, protocol)`\n\n`.patch(options, data, protocol)`\n\n\n```\n/**\n *\n *\n * @param {*} options\n * @param {*} data\n * @param {*} protocol\n * @param {*} connectHandler\n * @param {*} contentHandler\n * @param {*} errorHandler\n * @param {*} upgradeHandler\n * @return {*} Promise: resolve\u003c{ headers, body }\u003e, reject \u003c{ error }\u003e \n * \n */\n```\n\n\n#### deleteRequest\nCreate a delete request. Allows for handling connect, error, upgrade events specifically. Simple implementation and allows for request and response interceptor functions.\n\n\nUsage:\n\n`.deleteRequest(options, data, protocol, connectHandler, contentHandler, errorHandler, upgradeHandler)`\n\n`.deleteRequest(options)`\n\n`.del(options)`\n\n\n```\n/**\n *\n * @param {*} options\n * @param {*} data\n * @param {*} protocol\n * @param {*} connectHandler\n * @param {*} contentHandler\n * @param {*} errorHandler\n * @param {*} upgradeHandler\n * @return {*} Promise: resolve\u003c{ headers, body }\u003e, reject \u003c{ error }\u003e \n * \n */\n```\n\n\n#### optionsRequest\nCreate a options request. Allows for handling connect, error, upgrade events specifically. Simple implementation and allows for request and response interceptor functions.\n\n\nUsage:\n\n`.optionsRequest(options, data, protocol, connectHandler, contentHandler, errorHandler, upgradeHandler)`\n\n`.optionsRequest(options)`\n\n`.options(options)`\n\n\n```\n/**\n *\n *\n * @param {*} options\n * @param {*} data\n * @param {*} protocol\n * @param {*} connectHandler\n * @param {*} contentHandler\n * @param {*} errorHandler\n * @param {*} upgradeHandler\n * @return {*} Promise: resolve\u003c{ headers, body }\u003e, reject \u003c{ error }\u003e \n * \n */\n```\n\n\n#### contentTypeHandler\nResponse content handler function handling content-type of different types. Currently has application/json, application/xml handlers. Parses the `'content-type': 'application/json'` like headers from res.headers\n\n\n.contentTypeHandler(responseObject, responseBody)\n\n\n```\n/**\n * Different contentTypeHandler Handlers\n * \n * @param {*} responseObject\n * @param {*} responseBody\n * @return { headers, body }\n */\n```\n\n\n#### checkHttpsProtocol\nCheck and get type of protocol - http or https\n\n\n`.checkHttpsProtocol(url)`\n\n\n```\n/**\n *\n * @param {*} url\n * @return {*} Boolean\n * \n */\n```\n\n\n#### getProtocol\nCheck and Get the protocol of the url.\n\n\n`.getProtocol(url)`\n\n\n```\n/**\n *\n * @param {*} url\n * @return {*} Boolean\n * \n */\n```\n\n\n#### isValidURL\nIs the url a valid url structure.\n\n\n`.isValidURL(url)`\n\n\n```\n/**\n *\n * @param {*} url\n * @return {*} Boolean\n * \n */\n```\n\n\n### DIFFERENT HTTP CONSTANTS\nDifferent HTTP Constants associated to the package provided as an JS Object. Can be useful for testing/ automated testing purposes, etc.\n\n\n##### REQUEST_HEADERS\nList of Different HTTP Request headers for HTTP\n\n\n`require(\"request-apis\").constants.REQUEST_HEADERS`\n\n\n\n##### REQUEST_HEADERS_CATEGORIZED\nList of Different HTTP Request headers categorized for HTTP\n\n\n`require(\"request-apis\").constants.REQUEST_HEADERS_CATEGORIZED`\n\n\n##### RESPONSE_HEADERS\nList of Different HTTP Response headers for HTTP\n\n\n`require(\"request-apis\").constants.RESPONSE_HEADERS`\n\n\n\n##### RESPONSE_HEADERS_CATEGORIZED\nList of Different HTTP Response headers categorized for HTTP\n\n\n`require(\"request-apis\").constants.RESPONSE_HEADERS_CATEGORIZED`\n\n\n\n##### PROTOCOLS\nList of Different HTTP Protocols for Node.js - `http`, `https`\n\n\n`require(\"request-apis\").constants.PROTOCOLS`\n\n\n\n##### PROTOCOL_NODE_MODULES\nList of Different HTTP Node Modules for Node.js - `http`, `https`, `http2`\n\n\n`require(\"request-apis\").constants.PROTOCOL_NODE_MODULES`\n\n\n\n##### CONTENT_TYPE\nList of Different HTTP Content Type value options for HTTP\n\n\n`require(\"request-apis\").constants.CONTENT_TYPE`\n\n\n\n# Contributions\n\nContributions, Feature Improvements, Bugs, and Issues are invited. [raising an issue](https://github.com/ganeshkbhat/apis-request/issues)\n\n\n# License\n\n[MIT License](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganeshkbhat%2Fapis-request","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fganeshkbhat%2Fapis-request","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fganeshkbhat%2Fapis-request/lists"}