chucker icon indicating copy to clipboard operation
chucker copied to clipboard

Update transaction list to differentiate GraphQL requests

Open ArjanSM opened this issue 1 year ago • 0 comments

:camera: Screenshots

:page_facing_up: Context

Issue #116 talks about the shortcoming of the initial approach of supporting GraphQL on Chucker.

This PR is an attempt support GraphQL on Chucker using the guidelines mentioned in Issue #116.

:pencil: Changes

  1. Enable clients to set a graphQLEndpoint through the ChuckerInterceptor.Builder
  2. Pass the graphQLEndpoint as an argument to the RequestProcessor.process(..) method
  3. Add isGraphQLRequest property in the HttpTransaction entity & HttpTransactionTuple
  4. Expose isGraphQLRequest via HttpTransactionTuple
  5. Tests
  6. Update Sample app to illustrate the effects of the change.

:paperclip: Related PR

PR#805 is also doing the same thing but does not handle GraphQL requests via HTTP GET methods. But this PR does not block any other PR.

:no_entry_sign: Breaking

  1. ChuckerInterceptor now contains an additional parameter to represent a GraphQL path or url
  2. RequestProcessor's process(..) method would accept the Graphql path passed by Interceptor.

:hammer_and_wrench: How to test

Test cases for RequestProcessor included in the PR. chucker_update_transaction_list

:stopwatch: Next steps

ArjanSM avatar Jul 13 '22 16:07 ArjanSM