Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

APIM - Debug mode #630

Open
mouligno opened this issue Dec 20, 2021 · 1 comment
Open

APIM - Debug mode #630

mouligno opened this issue Dec 20, 2021 · 1 comment

Comments

@mouligno
Copy link
Contributor

mouligno commented Dec 20, 2021

Global presentation

Debug mode is the second step of the try it mode.

Based on the same behavior, trying a call in studio before deploying it. You can choose path, verb, add headers and body in order to view if your designed API is working as expected.

In debug mode, we introduce display of all policies used in a timeline so you can view the order of execution and input/output of each.

Different state for policies :

You can view input and output of each policy, header/body.
You can view if there was an addition/edition/deletion of header/body

Timeline - how to interpret ?

Regarding the policy timeline, the order may not be the same than what's been designed in policy studio.

The debug mode keep the gateway execution order (request header > request body > response header > response body) and a policy could appear twice if it implies works on both header and body.
This gateway execution policy order is made that way for performance purpose.

Limitations

  • Context-path - as we're building specific instance of your call to help you debug it, the context-path accessible through attributes from Expression language {#context.attributes['context-path']} would include an event id
  • Rate Limit & quota policies - for the same reason, you won't be able to trigger that kind of behavior
  • Spike arrest
  • Cache - cache policy will not be testable through debug mode with in memory cache: it is created and destroyed with the api
  • IPFiltering - call being executed by the gateway, you won't be able to IPFiltering your IPs directly in the debug session (IP used for the call would be 127.0.0.1)
@plsstephenson
Copy link
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants