{"id":18996449,"url":"https://github.com/twyla-ai/http-middleware-zeit-template","last_synced_at":"2025-09-06T07:32:04.066Z","repository":{"id":98784975,"uuid":"212068361","full_name":"twyla-ai/http-middleware-zeit-template","owner":"twyla-ai","description":"Twyla HTTP Integration Middleware Template ","archived":true,"fork":false,"pushed_at":"2023-02-14T21:34:58.000Z","size":7,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-21T12:23:55.974Z","etag":null,"topics":["asgi","chatbot","conversation","http","integration","middleware","python","starlette","template","twyla","zeit-now"],"latest_commit_sha":null,"homepage":"https://canvas.twyla.ai","language":"Python","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/twyla-ai.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":"2019-10-01T10:27:32.000Z","updated_at":"2024-11-18T01:21:30.000Z","dependencies_parsed_at":"2023-05-25T08:45:58.472Z","dependency_job_id":null,"html_url":"https://github.com/twyla-ai/http-middleware-zeit-template","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/twyla-ai/http-middleware-zeit-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twyla-ai%2Fhttp-middleware-zeit-template","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twyla-ai%2Fhttp-middleware-zeit-template/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twyla-ai%2Fhttp-middleware-zeit-template/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twyla-ai%2Fhttp-middleware-zeit-template/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/twyla-ai","download_url":"https://codeload.github.com/twyla-ai/http-middleware-zeit-template/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/twyla-ai%2Fhttp-middleware-zeit-template/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273873346,"owners_count":25183363,"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-09-06T02:00:13.247Z","response_time":2576,"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":["asgi","chatbot","conversation","http","integration","middleware","python","starlette","template","twyla","zeit-now"],"created_at":"2024-11-08T17:35:06.001Z","updated_at":"2025-09-06T07:32:03.773Z","avatar_url":"https://github.com/twyla-ai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Twyla HTTP Integration Middleware Template: Zeit Now\n\nThis is a template repository to build Twyla HTTP integration middleware services for \ndeployment on [ZEIT Now](https://zeit.co/). These services allow for flexible \nintegrations with third-party services and data sources within your conversations \ndesigned using [Twyla Canvas](https://canvas.twyla.ai/). \n\nThis could also be used as an example for deployment of [Starlette](https://www.starlette.io/) \n[ASGI](https://channels.readthedocs.io/en/latest/asgi.html) application on Zeit.\n\n## Quick Start\nNote that we assume you already have a [ZEIT Account](https://zeit.co/login) that is \n[linked to your GitHub account](https://zeit.co/docs/v2/advanced/now-for-github/).\n\n1. [Create a GitHub repository using this template](https://github.com/twyla-ai/http-middleware-zeit-template/generate).\n2. [Import your new repository as a new project in ZEIT](https://zeit.co/new?#import-github).\n\nThat should be it. ZEIT should have a deployment built and ready for you in no time.\n\n## Notes\n* The `now.json` file is not strictly required as this will work with zero-config as well. We use this to enable some route redirection.\n* Since ZEIT passes the path as is to the application, the application should handle path prefixes like `/api`.\n* Endpoints deployed here are not secured. This means, they rely on obscurity or the \ndeployment URL to remain private. If endpoints do need to be secured, look into how to \nintegrate with  a stateless authentication mechanism/service (eg: [auth0](https://auth0.com/)).\nAlternatively, allow for `Authorization` headers or tokens to be passed through to the \nbacking service or data source. \n\n## References\n* [ZEIT Configuration Documentation](https://zeit.co/docs/configuration/)\n* [ZEIT Now Python Advanced Builder Documentation](https://zeit.co/docs/builders/#official-builders/python/python-dependencies)\n* [Starlette Documentation](https://www.starlette.io/)\n* [ZEIT Now Deployment Concepts](https://zeit.co/docs/v2/advanced/concepts/overview/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwyla-ai%2Fhttp-middleware-zeit-template","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftwyla-ai%2Fhttp-middleware-zeit-template","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftwyla-ai%2Fhttp-middleware-zeit-template/lists"}