{"id":26422366,"url":"https://github.com/jollytoad/deno_http_proxy_fns","last_synced_at":"2025-03-18T02:05:13.384Z","repository":{"id":192070998,"uuid":"658756862","full_name":"jollytoad/deno_http_proxy_fns","owner":"jollytoad","description":"Functions to help build a HTTP proxy in Deno","archived":false,"fork":false,"pushed_at":"2023-09-01T14:03:15.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-15T22:12:16.966Z","etag":null,"topics":["deno","functions","http","http-server","proxy","typescript"],"latest_commit_sha":null,"homepage":"https://deno.land/x/http_proxy_fns","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/jollytoad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":"audit/console_log.ts","citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-06-26T12:34:09.000Z","updated_at":"2023-09-20T12:52:43.000Z","dependencies_parsed_at":"2023-09-02T11:56:59.244Z","dependency_job_id":null,"html_url":"https://github.com/jollytoad/deno_http_proxy_fns","commit_stats":null,"previous_names":["jollytoad/deno_http_proxy_fns"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jollytoad%2Fdeno_http_proxy_fns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jollytoad%2Fdeno_http_proxy_fns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jollytoad%2Fdeno_http_proxy_fns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jollytoad%2Fdeno_http_proxy_fns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jollytoad","download_url":"https://codeload.github.com/jollytoad/deno_http_proxy_fns/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244141437,"owners_count":20404836,"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","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":["deno","functions","http","http-server","proxy","typescript"],"created_at":"2025-03-18T02:04:01.428Z","updated_at":"2025-03-18T02:05:13.373Z","avatar_url":"https://github.com/jollytoad.png","language":"TypeScript","readme":"# HTTP Proxy functions\n\nNOTE: This is still fairly experimental.\n\nA collection of functions for creating a HTTP proxy via a set of rules.\n\nAccompanies [@http functions](https://jsr.io/@http), but could be used with any\nDeno server/router based on the standard Request/Response functions.\n\n- Configured via a single `Manifest` (JSON or TypeScript module).\n- Rules can filter based on URL pattern, method, and the 'role' of the incoming\n  request\n- Highly pluggable via functions, dynamic modules, or requests to external\n  services\n- Pluggable 'Role Provider' determines the role of the incoming request\n- Pluggable Auditor chains\n\nDocs and examples coming soon (hopefully).\n\n## Example\n\nSee the [demo](./demo/main.ts) server.\n\nUsage:\n\n```sh\nexport OPENAI_API_KEY=...\ndeno task demo\n```\n\n(You can also declare env vars in a `.env` file)\n\nThen hit http://localhost:8000/v1/models in your browser.\n\n## Manifest\n\nThe proxy is configured via a Manifest object, take a look at the\n[example manifest](./demo/manifest.ts) in the demo, and the\n[type declaration](./types.ts).\n\nIt is possible to declare the manifest entirely as a JSON file if you can rely\non dynamic modules or remote services for all pluggable parts, otherwise use a\nregular typescript module.\n\nNote: [Deno Deploy](https://deno.com/deploy) doesn't currently support dynamic\nmodule imports, so you'll generally need to use a ts module for the manifest,\nand statically import role providers, auditor functions.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjollytoad%2Fdeno_http_proxy_fns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjollytoad%2Fdeno_http_proxy_fns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjollytoad%2Fdeno_http_proxy_fns/lists"}