Proxygen comes with a default configuration that should work well in most typical use cases. In case you need to customize some behavior you can adjust options under the Advanced tab.

Message data

For each message Proxygen stores the following data:

  • Request or status line
  • HTTP headers
  • Body data
  • Metrics (e.g. time when request was sent)

To optimize performance of message browsing and searching the application handles binary body data differently than fully text based messages. Textual body data is saved inline along with other message details. It is also loaded to memory when the project file is opened. This allows very fast browsing, searching and filtering from message history.

Binary message data is saved in separate cache files that are loaded to memory only when necessary, for example, when you browse the message history and view an image. Search results do not include these binary data messages.

However, storing messages with very large text body data inline within project files makes saving documents slower. This is why it is recommended to treat large text body data same as binary.

Leave Limit text body size option selected to allow Proxygen to store large text body data in binary files. The default size of 1000 kB should fit most use cases. If some important data is not included when filtering or searching messages, try increasing this size to a suitable value.

Proxy options

Connections

Select Time out after to fail connections when no response is received from remote server within the selected time period. Adjust the time if the remote server you are working with delivers responses slowly or if you want to time out connections faster to make the application more responsive.

Enable ‘Connection close’ in requests when you want to open a new connection for each request instead of reusing connections to the remote server. Some servers or testing setups may not operate correctly when connections are reused and enabling this option may help in those cases. Note that this will add HTTP header Connection: close to all requests.

Enable Require uncached responses to remove If-Modified-Since, If-None-Match, If-Match and If-Unmodified-Since headers from all requests. This ensures the server always returns response data instead of instructing the client to use cached resources. This can be useful if you want to inspect all data in the message history regardless of caching in the client.

Security

By default Proxygen verifies TLS certificates when connecting to remote servers and does not establish a connection if the verification fails for some reason (e.g. expired or self signed certificate). This ensures sensitive data is not exposed to unintended parties, but can prevent testing in environments where the infrastructure is not set up for production use. Disable Verify remote TLS certificates when you need to allow connections even when TLS certificates for remote servers are not valid for some reason.

Enable Support TLS renegotiation only when necessary for your testing setup. While this option allows the client and server to establish new cryptographic parameters during an existing secure connection, it has vulnerabilities that can be exploited by attackers to hijack sessions or inject malicious data.

Channels

You can limit the number of simultaneously active channels (i.e. proxied connections) using the Limit to option. Limiting channels should not be necessary, but if you find Proxygen application using a lot of memory or slowing down, this option can help to reduce resource usage.

Enable Close when idle for to automatically close connections that have been idle for the selected time period. Usually clients and servers close down connections that are not needed any longer but this may take more time than is preferred. This is another option that can help reduce the number of simultaneously active channels and overall resource usage of the application.