{"id":26275453,"url":"https://github.com/wherejuly/62-http-convenience-pack","last_synced_at":"2026-02-22T20:40:18.564Z","repository":{"id":266691131,"uuid":"891973299","full_name":"WhereJuly/62-http-convenience-pack","owner":"WhereJuly","description":"The small TypeScript HTTP convenience library; methods, statuses, MIME types, headers enums, types, validators, normalizers, in group, of group, make, extract etc.","archived":false,"fork":false,"pushed_at":"2025-12-18T04:07:29.000Z","size":3616,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2025-12-21T11:42:18.904Z","etag":null,"topics":["allow","codes","convenience","enforce","ensure","enums","headers","helpers","http","methods","mime-types","normalize","status-codes","statuses","types","typescript","uniform","validate"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/http-convenience-pack","language":"TypeScript","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/WhereJuly.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,"zenodo":null}},"created_at":"2024-11-21T09:40:03.000Z","updated_at":"2025-12-18T04:00:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"090d43b1-0602-4b2e-8608-89b8381cae68","html_url":"https://github.com/WhereJuly/62-http-convenience-pack","commit_stats":null,"previous_names":["wherejuly/62-http-convenience-pack"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/WhereJuly/62-http-convenience-pack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhereJuly%2F62-http-convenience-pack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhereJuly%2F62-http-convenience-pack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhereJuly%2F62-http-convenience-pack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhereJuly%2F62-http-convenience-pack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WhereJuly","download_url":"https://codeload.github.com/WhereJuly/62-http-convenience-pack/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WhereJuly%2F62-http-convenience-pack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29726380,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-22T20:09:16.275Z","status":"ssl_error","status_checked_at":"2026-02-22T20:09:13.750Z","response_time":110,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["allow","codes","convenience","enforce","ensure","enums","headers","helpers","http","methods","mime-types","normalize","status-codes","statuses","types","typescript","uniform","validate"],"created_at":"2025-03-14T10:16:14.224Z","updated_at":"2026-02-22T20:40:18.544Z","avatar_url":"https://github.com/WhereJuly.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003chr\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"./.docs/images/banner-6-w1200.jpg\" width=\"100%\"/\u003e\n\u003c/div\u003e\n\nUse all the most popular HTTP constants collected in the same package with TypeScript type inference and IDE autocomplete for comfort and type safety.\n\n**Summary**\n\nThe small dependency-free, TypeScript HTTP convenience package. Exposes uniform standardized RFC-compliant type-safe auto-completable HTTP constants to apply across your applications' ends and services along with the convenience functionality (validate, normalize, is among, of group, in group, make, extract, transform etc.).\n\n**Package Status**\n\n![Build Status](https://github.com/WhereJuly/62-http-convenience-pack/actions/workflows/deliver.yml/badge.svg)\n[![codecov](https://codecov.io/gh/WhereJuly/62-http-convenience-pack/graph/badge.svg?token=N7W0Q11DRL)](https://codecov.io/gh/WhereJuly/62-http-convenience-pack)\n![npm version](https://img.shields.io/npm/v/http-convenience-pack.svg)\n![npm downloads](https://img.shields.io/npm/dm/http-convenience-pack.svg)\n![npm bundle size](https://img.shields.io/bundlephobia/min/http-convenience-pack)\n![npm bundle size](https://img.shields.io/bundlephobia/minzip/http-convenience-pack)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n\u003c!-- WRITE: Will implement the badges at their time. --\u003e\n\u003c!-- [![Dependencies](https://img.shields.io/librariesio/release/npm/package-name)](https://libraries.io/npm/package-name)\n![Snyk Vulnerabilities](https://img.shields.io/snyk/vulnerabilities/github/your-username/your-repo.svg)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fusername%2Frepo.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fusername%2Frepo?ref=badge_shield)\n![Last Commit](https://img.shields.io/github/last-commit/WhereJuly/62-http-convenience-pack.svg)\n--\u003e\n\n\u003csmall\u003eThe package is in a usage-ready state, no pending functionality. It is actively maintained. It moves to production-ready `\u003e= v1.0.0` as the initial usage feedback confirms it has no major missing use cases.\u003c/small\u003e\n\n# HTTP Convenience Pack\n\nThe pack purpose is to provide uniform standardized RFC-compliant HTTP constants' values for applications across the consumer's entire TypeScript application stack.\n\nIt adds the type safety and convenience of auto-complete. It allows to avoid string constants ambiguity, ensures you always get the same correct and uniform HTTP header name (or a MIME type, or a status code / message) sent from your one end (e.g. front) to the other (e.g. back) and / or across you services.\n\nIt is even more actual for development teams or open-source projects maintainers where multiple developers have to write code. Used as a part of a shared kernel, the package standardizes the entire HTTP constants not only across services but across people, that is equally important.\n\nOn top it has functionality that allows manipulating the application HTTP variables in a numerous comfortably declarative ways.\n\n---\n\n**Table of Contents**\n\n- [Overview](#overview)\n  - [Documentation](#documentation)\n  - [Quick Start](#quick-start)\n    - [Installation](#installation)\n    - [Autocomplete Demo](#autocomplete-demo)\n    - [Combined Usage Example](#combined-usage-example)\n- [Modules](#modules)\n  - [HTTP Methods](#http-methods)\n  - [HTTP Statuses](#http-statuses)\n  - [HTTP MIME Types](#http-mime-types)\n  - [HTTP Headers](#http-headers)\n- [Maintenance](#maintenance)\n  - [Changelog](#changelog)\n  - [Roadmap](#roadmap)\n  - [Contributions](#contributions)\n  - [License](#license)\n\n## Overview\n\n### Documentation\n\nThe package is carefully documented for comfortable developer experience.\n\nFrom the good-named identifiers in code, thought-out autocompletion (see animated GIF [demo](#autocomplete-demo)), hover-popup doc blocks with usage examples on enums, constants classes and methods accessible with on-hover or `Ctrl-Left-click` when integrated with your IDE TypeScript setup (e.g. see [VS Code](https://code.visualstudio.com/Docs/languages/typescript)) to the detailed readme with use cases and the dedicated modules' API references.\n\nAs well there is a GitHub [Discussion](https://github.com/WhereJuly/62-http-convenience-pack/discussions) available for question and requests, as the usual GitHub [Issues](https://github.com/WhereJuly/62-http-convenience-pack/issues) for bug reporting.\n\n**Code Conventions**\n\nTo ease the readability and autocomplete I apply the following conventions: start interface names with `I`, enums with `E`, type aliases with `T`, generics with `G`. Abbreviations are always in caps (satisfactory comfort). The domain-respective public API contains `HTTP` prefix to namespace the package members, the module name like `Statuses`, `Methods`, `MIME` etc.\n\nAs the names may feel rather long you can apply the imports aliasing like this:\n\n```typescript\nimport { EHTTPMethods as EMethods, HTTPMethodsConvenience as Methods } from 'http-convenience-pack';\n```\n\nHope you appreciate.\n\n### Quick Start\n\n#### Installation\n\n```bash\nnpm install http-convenience-pack\n```\n\n#### Autocomplete Demo\n\nHere is the short demo. The autocomplete works on all published API members. See the respective API References in the modules dedicated documentation.\n\n\u003cdetails\u003e\n  \u003csummary\u003eWatch\u003c/summary\u003e\n  \u003cdiv align=\"center\"\u003e\n    \u003cimg src=\"./.docs/images/autocomplete.webp\" width=\"100%\"/\u003e\n  \u003c/div\u003e\n\u003c/details\u003e\n\n#### [Combined Usage Example](.docs/combined-usage-example.md)\n\n## Modules\n\n### [HTTP Methods](.docs/methods.md)\n\n### [HTTP Statuses](.docs/statuses.md)\n\n### [HTTP MIME Types](.docs/mime-types.md)\n\n### [HTTP Headers](.docs/headers.md)\n\n## Maintenance\n\n### Changelog\n\nWill come with public updates.\n\n### Roadmap\n\nWill appear here when available.\n\n### Contributions\n\nPotentially valuable use cases / functionality suggestions are welcome either in [Discussions](https://github.com/WhereJuly/62-http-convenience-pack/discussions) or as [pull requests](#contribution).\n\nIf there is a Pull Request contribution, I would receive it on `integration` branch for discussion and manual merge.\n\n### License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwherejuly%2F62-http-convenience-pack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwherejuly%2F62-http-convenience-pack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwherejuly%2F62-http-convenience-pack/lists"}