Make it easier to find & use structured filters
I click a packet and copy-to-clipboard a string from the request payload, say 0xfoobar
Now I enter that string into the searchbar (under all the packets). But my packet doesn't pop up in the search results.
Could we have a feature that allows us to tick "search request body/headers" and "search response body/headers"
You can optionally search the body already, but you have to do so with an explicit filter. To search body content, try entering a filter like body=abc (body exactly matches 'abc') or body*=abc (body contains 'abc').
Unfortunately, it causes big problems if typing in that boxes searches bodies automatically. In many cases bodies are very large (it's easy to intercept 10s of megabytes immediately or 100s in a couple of minutes), they each need decoding which is often expensive (in both processing & memory to cache the result), and that all makes them expensive to search through as you type (slowing down querying generally).
HTTP Toolkit does quite a lot of work to avoid decoding bodies you don't need to access for as long as possible for performance, and searching bodies by default would break all of that.
Using proper filters to do this only explicitly instead helps because it means you have to opt-in explicitly in that filter in each query, and it lets us do optimizations on which bodies to look at (e.g. in the query method=POST body*=hello, HTTP Toolkit only decodes and searches the content of POST bodies, none of the others).
Do those filters work for you? Let me know if there's a use case that they don't cover.
Awesome, great tech! PS Maybe a '?' icon right of the searchbar with that info and some sample searches would help...
I forgot about this, but I just found it again, and this is now implemented!
There's now a new section in the docs fully explaining the filtering options, complete with a demo video and examples, and there's a little ? in the filter input when you haven't entered anything yet, which links to those docs. Great idea, thanks!