{"id":36495999,"url":"https://github.com/azure-samples/functions-custom-handlers","last_synced_at":"2026-01-12T02:03:49.931Z","repository":{"id":37180275,"uuid":"247809567","full_name":"Azure-Samples/functions-custom-handlers","owner":"Azure-Samples","description":"Sample code for Azure Functions custom handlers","archived":false,"fork":false,"pushed_at":"2023-10-24T10:05:02.000Z","size":73,"stargazers_count":92,"open_issues_count":23,"forks_count":31,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-05-05T23:37:46.352Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","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/Azure-Samples.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-16T20:24:05.000Z","updated_at":"2025-04-09T19:12:24.000Z","dependencies_parsed_at":"2024-01-14T20:34:21.073Z","dependency_job_id":null,"html_url":"https://github.com/Azure-Samples/functions-custom-handlers","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Azure-Samples/functions-custom-handlers","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2Ffunctions-custom-handlers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2Ffunctions-custom-handlers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2Ffunctions-custom-handlers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2Ffunctions-custom-handlers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Azure-Samples","download_url":"https://codeload.github.com/Azure-Samples/functions-custom-handlers/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Azure-Samples%2Ffunctions-custom-handlers/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28331543,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T00:36:25.062Z","status":"online","status_checked_at":"2026-01-12T02:00:08.677Z","response_time":98,"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":[],"created_at":"2026-01-12T02:01:13.481Z","updated_at":"2026-01-12T02:03:49.924Z","avatar_url":"https://github.com/Azure-Samples.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Azure Functions custom handlers (preview)\r\n\r\nEvery Functions app is executed by a language-specific handler. While Azure Functions supports many [language handlers](https://docs.microsoft.com/azure/azure-functions/supported-languages) by default, there are cases where you may want additional control over the app execution environment. Custom handlers give you this additional control.\r\n\r\nCustom handlers are lightweight web servers that receive events from the Functions host. Any language that supports HTTP primitives can implement a custom handler.\r\n\r\nCustom handlers are best suited for situations where you want to:\r\n\r\n- Implement a Functions app in a language beyond the officially supported languages\r\n- Implement a Functions app in a language version or runtime not supported by default\r\n- Have granular control over the app execution environment\r\n\r\nWith custom handlers, all [triggers and input and output bindings](https://docs.microsoft.com/azure/azure-functions/functions-triggers-bindings) are supported via [extension bundles](https://docs.microsoft.com/azure/azure-functions/functions-bindings-register).\r\n\r\nRead more [about custom handlers in detail](https://docs.microsoft.com/azure/azure-functions/functions-custom-handlers).\r\n\r\n## Samples\r\n\r\nThe following samples demonstrate how to implement a custom handler in the following languages:\r\n\r\n- [C#](https://github.com/Azure-Samples/functions-custom-handlers/tree/master/CSharp)\r\n- [Go](https://github.com/Azure-Samples/functions-custom-handlers/tree/master/go)\r\n- [Java](https://github.com/Azure-Samples/functions-custom-handlers/tree/master/Java)\r\n- [JavaScript](https://github.com/Azure-Samples/functions-custom-handlers/tree/master/node)\r\n- [R](https://github.com/Azure-Samples/functions-custom-handlers/tree/master/R)\r\n- [Rust](https://github.com/Azure-Samples/functions-custom-handlers/tree/master/Rust)\r\n\r\n## Docker\r\n\r\nFollowing is an example dockerfile using azure functions node base image\r\n\r\n```\r\n# To enable ssh \u0026 remote debugging on app service change the base image to the one below\r\n# FROM mcr.microsoft.com/azure-functions/node:2.0-appservice\r\nFROM mcr.microsoft.com/azure-functions/node:2.0\r\n\r\nENV AzureWebJobsScriptRoot=/home/site/wwwroot \\\r\n    AzureFunctionsJobHost__Logging__Console__IsEnabled=true\r\n\r\nCOPY . /home/site/wwwroot\r\n\r\nRUN cd /home/site/wwwroot\r\n\r\n```\r\n\r\nCopy any of the samples to the directory where you have dockerfile and build an image","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazure-samples%2Ffunctions-custom-handlers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazure-samples%2Ffunctions-custom-handlers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazure-samples%2Ffunctions-custom-handlers/lists"}