{"id":18830224,"url":"https://github.com/gravitee-io/gravitee-policy-transformheaders","last_synced_at":"2025-04-14T03:42:12.624Z","repository":{"id":5206147,"uuid":"48506202","full_name":"gravitee-io/gravitee-policy-transformheaders","owner":"gravitee-io","description":"Gravitee Policy : Transform Headers","archived":false,"fork":false,"pushed_at":"2025-04-11T11:46:53.000Z","size":157,"stargazers_count":0,"open_issues_count":5,"forks_count":7,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-04-11T12:11:18.369Z","etag":null,"topics":["product-apim","security-scan"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gravitee-io.png","metadata":{"files":{"readme":"README.adoc","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.adoc","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2015-12-23T18:50:32.000Z","updated_at":"2025-04-11T11:02:35.000Z","dependencies_parsed_at":"2023-09-27T10:54:50.563Z","dependency_job_id":"80b3cb06-b608-4d88-8e16-deae22206139","html_url":"https://github.com/gravitee-io/gravitee-policy-transformheaders","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravitee-io%2Fgravitee-policy-transformheaders","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravitee-io%2Fgravitee-policy-transformheaders/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravitee-io%2Fgravitee-policy-transformheaders/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gravitee-io%2Fgravitee-policy-transformheaders/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gravitee-io","download_url":"https://codeload.github.com/gravitee-io/gravitee-policy-transformheaders/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248818741,"owners_count":21166468,"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":["product-apim","security-scan"],"created_at":"2024-11-08T01:48:12.828Z","updated_at":"2025-04-14T03:42:12.604Z","avatar_url":"https://github.com/gravitee-io.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Transform headers policy\n\nifdef::env-github[]\nimage:https://img.shields.io/static/v1?label=Available%20at\u0026message=Gravitee.io\u0026color=1EC9D2[\"Gravitee.io\", link=\"https://download.gravitee.io/#graviteeio-apim/plugins/policies/gravitee-policy-transformheaders/\"]\nimage:https://img.shields.io/badge/License-Apache%202.0-blue.svg[\"License\", link=\"https://github.com/gravitee-io/gravitee-policy-transformheaders/blob/master/LICENSE.txt\"]\nimage:https://img.shields.io/badge/semantic--release-conventional%20commits-e10079?logo=semantic-release[\"Releases\", link=\"https://github.com/gravitee-io/gravitee-policy-transformheaders/releases\"]\nimage:https://circleci.com/gh/gravitee-io/gravitee-policy-transformheaders.svg?style=svg[\"CircleCI\", link=\"https://circleci.com/gh/gravitee-io/gravitee-policy-transformheaders\"]\nendif::[]\n\n== Compatibility matrix\n\n|===\n|Plugin version | APIM version\n\n|1.x            | 3.x\n|3.x            | 4.0 to latest\n\n|===\n\n== Phase\n\n[cols=\"4*\", options=\"header\"]\n|===\n^|onRequest\n^|onResponse\n^|onRequestContent\n^|onResponseContent\n\n^.^| X\n^.^| X\n^.^| X\n^.^| X\n\n|===\n\n== Description\n\nYou can use the `transformheaders` policy to override HTTP headers in incoming requests or outbound responses.\nYou can override the HTTP headers by:\n\n* Adding to or updating the list of headers\n* Removing headers individually\n* Defining a whitelist\n\n== Example\n\n[source, json]\n----\n\"transform-headers\": {\n    \"addHeaders\": [\n        {\n            \"name\": \"X-Gravitee-Request-Id\",\n            \"value\": \"{#request.id}\"\n        }\n    ],\n    \"appendHeaders\": [\n        {\n            \"name\": \"Accept-Encoding\",\n            \"value\": \"gzip\"\n        }\n    ],\n    \"removeHeaders\": [\n        \"X-Gravitee-TransactionId\"\n    ],\n    \"whitelistHeaders\": [\n        \"Content-Type\",\n        \"Content-Length\"\n    ],\n    \"scope\": \"REQUEST\"\n}\n----\n\nSet / replace a header from the request's payload:\n\n[source, json]\n----\n\"transform-headers\": {\n    \"addHeaders\": [\n        {\n            \"name\": \"X-Product-Id\",\n            \"value\": \"{#jsonPath(#request.content, '$.product.id')}\"\n        }\n    ]\n    \"scope\": \"REQUEST_CONTENT\"\n}\n----\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgravitee-io%2Fgravitee-policy-transformheaders","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgravitee-io%2Fgravitee-policy-transformheaders","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgravitee-io%2Fgravitee-policy-transformheaders/lists"}