{"id":16252269,"url":"https://github.com/remarkablemark/cloudflare-functions-demo","last_synced_at":"2025-03-19T20:31:14.971Z","repository":{"id":152203903,"uuid":"613050814","full_name":"remarkablemark/cloudflare-functions-demo","owner":"remarkablemark","description":":cloud: Cloudflare Functions Demo","archived":false,"fork":false,"pushed_at":"2024-10-18T04:34:28.000Z","size":485,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-19T06:57:56.043Z","etag":null,"topics":["api","cloudflare","cloudflare-functions","cloudflare-pages","cloudflare-workers","demo","javascript"],"latest_commit_sha":null,"homepage":"https://cloudflare-functions-demo-dqb.pages.dev","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/remarkablemark.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},"funding":{"github":["remarkablemark"],"patreon":"remarkablemark","open_collective":null,"ko_fi":"remarkablemark","tidelift":null,"community_bridge":null,"liberapay":"remarkablemark","issuehunt":null,"otechie":null,"custom":["https://b.remarkabl.org/teespring"]}},"created_at":"2023-03-12T18:37:49.000Z","updated_at":"2024-10-18T04:34:29.000Z","dependencies_parsed_at":"2024-01-05T05:30:48.621Z","dependency_job_id":"9fda91a6-abff-451b-b9b2-cc0ae51d7d72","html_url":"https://github.com/remarkablemark/cloudflare-functions-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remarkablemark%2Fcloudflare-functions-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remarkablemark%2Fcloudflare-functions-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remarkablemark%2Fcloudflare-functions-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/remarkablemark%2Fcloudflare-functions-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/remarkablemark","download_url":"https://codeload.github.com/remarkablemark/cloudflare-functions-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244018743,"owners_count":20384625,"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":["api","cloudflare","cloudflare-functions","cloudflare-pages","cloudflare-workers","demo","javascript"],"created_at":"2024-10-10T15:13:00.432Z","updated_at":"2025-03-19T20:31:14.959Z","avatar_url":"https://github.com/remarkablemark.png","language":"TypeScript","funding_links":["https://github.com/sponsors/remarkablemark","https://patreon.com/remarkablemark","https://ko-fi.com/remarkablemark","https://liberapay.com/remarkablemark","https://b.remarkabl.org/teespring"],"categories":[],"sub_categories":[],"readme":"# cloudflare-functions-demo\n\n[Cloudflare Functions Demo](https://cloudflare-functions-demo-dqb.pages.dev). See [Cloudflare documentation](https://developers.cloudflare.com/pages/platform/functions/)\n\n## Prerequisites\n\n- [Node.js](https://nodejs.org/)\n- [npm](https://www.npmjs.com/)\n\n## Install\n\nClone the repository:\n\n```sh\ngit clone https://github.com/remarkablemark/cloudflare-functions-demo.git\ncd cloudflare-functions-demo\n```\n\nInstall the dependencies:\n\n```sh\nnpm install\n```\n\n## Run\n\nStart a local server for developing your Pages:\n\n```sh\nnpm start\n```\n\nFix error `Address already in use; 0.0.0.0:8788`:\n\n```sh\nkill $(lsof -ti :8788)\n```\n\n## Functions\n\n\u003c!-- prettier-ignore-start --\u003e\n| File | Endpoint |\n| --- | --- |\n| [ai-stream-html](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/ai-stream-html.ts) | [/ai-stream-html](https://cloudflare-functions-demo-dqb.pages.dev/ai-stream-html) |\n| [ai-stream](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/ai-stream.ts) | [/ai-stream](https://cloudflare-functions-demo-dqb.pages.dev/ai-stream) |\n| [ai](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/ai.ts) | [/ai](https://cloudflare-functions-demo-dqb.pages.dev/ai) |\n| [dynamic/[name]](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/dynamic/[name].ts) | [/dynamic/world](https://cloudflare-functions-demo-dqb.pages.dev/dynamic/world) |\n| [r2](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/r2) | [/r2](https://cloudflare-functions-demo-dqb.pages.dev/r2) |\n| [cache](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/cache.ts) | [/cache](https://cloudflare-functions-demo-dqb.pages.dev/cache) |\n| [cf](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/cf.ts) | [/cf](https://cloudflare-functions-demo-dqb.pages.dev/cf) |\n| [cors-proxy](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/cors-proxy.ts) | [/cors-proxy](https://cloudflare-functions-demo-dqb.pages.dev/cors-proxy?url=http://example.com) |\n| [cors](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/cors.ts) | [/cors](https://cloudflare-functions-demo-dqb.pages.dev/cors) |\n| [environment-variables](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/environment-variables.ts) | [/environment-variables](https://cloudflare-functions-demo-dqb.pages.dev/environment-variables) |\n| [fetch](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/fetch.ts) | [/fetch](https://cloudflare-functions-demo-dqb.pages.dev/fetch) |\n| [form](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/form.ts) | [/form](https://cloudflare-functions-demo-dqb.pages.dev/form) |\n| [headers](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/headers.ts) | [/headers](https://cloudflare-functions-demo-dqb.pages.dev/headers) |\n| [helloworld](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/helloworld.ts) | [/helloworld](https://cloudflare-functions-demo-dqb.pages.dev/helloworld) |\n| [html](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/html.ts) | [/html](https://cloudflare-functions-demo-dqb.pages.dev/html) |\n| [ip](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/ip.ts) | [/ip](https://cloudflare-functions-demo-dqb.pages.dev/ip) |\n| [json](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/json.ts) | [/json](https://cloudflare-functions-demo-dqb.pages.dev/json) |\n| [kv](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/kv.ts) | [/kv](https://cloudflare-functions-demo-dqb.pages.dev/kv) |\n| [onRequests](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/onRequests.ts) | [/onRequests](https://cloudflare-functions-demo-dqb.pages.dev/onRequests) |\n| [post](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/post.ts) | [/post](https://cloudflare-functions-demo-dqb.pages.dev/post) |\n| [querystring](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/querystring.ts) | [/querystring](https://cloudflare-functions-demo-dqb.pages.dev/querystring?key=value) |\n| [redirect](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/redirect.ts) | [/redirect](https://cloudflare-functions-demo-dqb.pages.dev/redirect?key=value) |\n| [secrets](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/secrets.ts) | [/secrets](https://cloudflare-functions-demo-dqb.pages.dev/secrets) |\n| [stream](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/stream.ts) | [/stream](https://cloudflare-functions-demo-dqb.pages.dev/stream) |\n| [typescript](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/typescript.ts) | [/typescript](https://cloudflare-functions-demo-dqb.pages.dev/typescript) |\n| [uuid](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/functions/uuid.ts) | [/uuid](https://cloudflare-functions-demo-dqb.pages.dev/uuid) |\n\u003c!-- prettier-ignore-end --\u003e\n\n## License\n\n[MIT](https://github.com/remarkablemark/cloudflare-functions-demo/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremarkablemark%2Fcloudflare-functions-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fremarkablemark%2Fcloudflare-functions-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fremarkablemark%2Fcloudflare-functions-demo/lists"}