tyk icon indicating copy to clipboard operation
tyk copied to clipboard

[TT-11997] Backend logic for request_headers_rewrite

Open buraksezer opened this issue 9 months ago • 5 comments

User description

See https://tyktech.atlassian.net/browse/TT-11997 for details of the request headers rewrite rules.


PR Type

Enhancement, Tests


Description

  • Added tests for request headers rewrite rules in GraphQL middleware.
  • Integrated request headers rewrite logic into the reverse proxy handler.
  • Added RequestHeadersRewrite to ReverseProxyParams struct.
  • Passed RequestHeadersRewrite to the GraphQL engine transport for both v1 and v2.
  • Implemented logic to apply request headers rewrite rules in the GraphQL engine transport, covering three different rewrite scenarios.

Changes walkthrough 📝

Relevant files
Tests
mw_graphql_test.go
Add tests for request headers rewrite rules in GraphQL middleware.

gateway/mw_graphql_test.go

  • Added tests for request headers rewrite rules.
  • Implemented three test cases for different rewrite scenarios.
  • +137/-0 
    Enhancement
    reverse_proxy.go
    Integrate request headers rewrite logic in reverse proxy handler.

    gateway/reverse_proxy.go

  • Integrated request headers rewrite logic into the reverse proxy
    handler.
  • +8/-7     
    engine.go
    Add RequestHeadersRewrite to ReverseProxyParams struct.   

    internal/graphengine/engine.go

    • Added RequestHeadersRewrite to ReverseProxyParams struct.
    +8/-7     
    graphql_go_tools_v1.go
    Pass RequestHeadersRewrite to GraphQL engine transport (v1).

    internal/graphengine/graphql_go_tools_v1.go

    • Passed RequestHeadersRewrite to the GraphQL engine transport.
    +1/-0     
    graphql_go_tools_v2.go
    Pass RequestHeadersRewrite to GraphQL engine transport (v2).

    internal/graphengine/graphql_go_tools_v2.go

    • Passed RequestHeadersRewrite to the GraphQL engine transport.
    +1/-0     
    transport.go
    Implement request headers rewrite logic in GraphQL engine transport.

    internal/graphengine/transport.go

  • Added logic to apply request headers rewrite rules in the GraphQL
    engine transport.
  • Implemented three rewrite rules for request headers.
  • +96/-1   

    💡 PR-Agent usage: Comment /help on the PR to get a list of all available PR-Agent tools and their descriptions

    buraksezer avatar May 23 '24 13:05 buraksezer