{"id":20464786,"url":"https://github.com/envoyproxy/envoy-filter-example","last_synced_at":"2025-05-15T12:03:46.404Z","repository":{"id":37484261,"uuid":"89397398","full_name":"envoyproxy/envoy-filter-example","owner":"envoyproxy","description":"Example of consuming Envoy and adding a custom filter","archived":false,"fork":false,"pushed_at":"2025-04-14T18:44:17.000Z","size":3590,"stargazers_count":345,"open_issues_count":29,"forks_count":212,"subscribers_count":35,"default_branch":"main","last_synced_at":"2025-04-14T22:19:56.627Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/envoyproxy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2017-04-25T19:13:26.000Z","updated_at":"2025-04-14T18:44:20.000Z","dependencies_parsed_at":"2024-01-15T03:56:29.384Z","dependency_job_id":"0d60a9b8-4018-4514-9b10-18ea995a8d13","html_url":"https://github.com/envoyproxy/envoy-filter-example","commit_stats":{"total_commits":17180,"total_committers":46,"mean_commits":373.4782608695652,"dds":0.2684516880093132,"last_synced_commit":"06cccab6f176a204769d957a4f0148229ce29f18"},"previous_names":["lyft/envoy-filter-example"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/envoyproxy%2Fenvoy-filter-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/envoyproxy%2Fenvoy-filter-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/envoyproxy%2Fenvoy-filter-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/envoyproxy%2Fenvoy-filter-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/envoyproxy","download_url":"https://codeload.github.com/envoyproxy/envoy-filter-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254337612,"owners_count":22054253,"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":[],"created_at":"2024-11-15T13:16:28.017Z","updated_at":"2025-05-15T12:03:46.374Z","avatar_url":"https://github.com/envoyproxy.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Envoy filter example\n\nThis project demonstrates the linking of additional filters with the Envoy binary.\nA new filter `echo2` is introduced, identical modulo renaming to the existing\n[`echo`](https://github.com/envoyproxy/envoy/blob/master/source/extensions/filters/network/echo/echo.h)\nfilter. Integration tests demonstrating the filter's end-to-end behavior are\nalso provided.\n\nFor an example of additional HTTP filters, see [here](http-filter-example).\n\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/envoyproxy/envoy-filter-example/badge)](https://securityscorecards.dev/viewer/?uri=github.com/envoyproxy/envoy-filter-example)\n\n## Building\n\nTo build the Envoy static binary:\n\n1. `git submodule update --init`\n2. `bazel build //:envoy`\n\n## Testing\n\nTo run the `echo2` integration test:\n\n`bazel test //:echo2_integration_test`\n\nTo run the regular Envoy tests from this project:\n\n`bazel test @envoy//test/...`\n\n## How it works\n\nThe [Envoy repository](https://github.com/envoyproxy/envoy/) is provided as a submodule.\nThe [`WORKSPACE`](WORKSPACE) file maps the `@envoy` repository to this local path.\n\nThe [`BUILD`](BUILD) file introduces a new Envoy static binary target, `envoy`,\nthat links together the new filter and `@envoy//source/exe:envoy_main_entry_lib`. The\n`echo2` filter registers itself during the static initialization phase of the\nEnvoy binary as a new filter.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenvoyproxy%2Fenvoy-filter-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenvoyproxy%2Fenvoy-filter-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenvoyproxy%2Fenvoy-filter-example/lists"}