On the back of some recent customer tickets it would be nice to include a section in the IG guide, maybe in https://backstage.forgerock.com/docs/ig/6.1/gateway-guide/index.html#about, with a summary of what is happening under the covers when requests/responses are being processed by IG. i.e. that requests from clients and responses back from proxied applications are deconstructed into a new set of components that make up a request/response such as headers, cookies, query parameters and entities. These are then made available to the handlers and filters as part of the processing that happens within routes etc.
This would help to provide an explanation as to why some parts of this processing can produce side-effects, like when query parameter values arrive with some characters encoded but when they are passed on to downstream applications the encoding is different or not included like the original value due to how IG applies the rules in https://tools.ietf.org/html/rfc3986#section-3.4