Editing Requests and Responses


Editing the requests, responses and associated connections is done using the editing views, each represented by a tab in the Main window.

Connection

Raw Request

Parsed Request

Raw Response

Only the relevant views are enabled. For example, if no response has been received, the Raw Response view is disabled. Editing in one view will be reflected in the other views.

Connection

Every connection passing through HTTP Proxy is actually two separate connections: connection between browser and HTTP Proxy, and connection between web server and HTTP Proxy. Thus, the Connection view has two parts for the two connections of any request or response.

HTTP Proxy <=> Browser

The browser's full address and port appear on the left, and HTTP Proxy's address and port appear on the right. Between them is the connection status icon (see Connection Status Icons), reflecting the status of the connection between the browser and HTTP Proxy.

HTTP Proxy <=> Web Server

The full address HTTP Proxy used to connect to the web server appears on the left, and the web server's address on the right. Between them is the connection status icon (see Connection Status Icons), reflecting the status of the connection between HTTP Proxy and the web server. If the connection is not yet connected, the web server's address is editable.

SSL

If the connection is an SSL connection the SSL Status and the SSL Certificate are relevant. The SSL Session ID and Cipher Suite used are displayed, as well as any SSL Certificates received from the web server.

Changing Connections - SSL

If the connection is not yet connected, you may check the SSL checkbox to set HTTP Proxy to attempt a secure connection to the server; or uncheck SSL, to set HTTP Proxy to attempt a standard connection to the server. If you change the SSL checkbox, the target port is also changed (if you use the default ports; see Configuring Browsers for more information).

Reconnecting

To control the connection, and cause HTTP Proxy to reconnect, use the following buttons:

Connection Status Icons

The connection status buttons show the state of the connection.

To close an open connection, click the status icon:

Connection Status Icons
Icon
Description
Not connected
Connecting
Connecting (SSL)
Connection failed
Connection failed (SSL)
Open
Open (SSL)
Closed
Closed (SSL)

Raw Request

The Raw Request view contains different parts:

Request

Headers

Body

Request

The Method, Path, And Version are editable.

For the Method and Version text fields, a drop-down list provides the most commonly used values; however, you may enter different values.

In the Path text field, enter text to add to the URL before the first ?.

Headers

The Headers table contains the headers to be sent to the server. You may edit Headers freely.

The following headers are treated specially:
Special Headers
Header
HTTP Proxy Treatment
Content-Length
This header is ignored (and a new one generated automatically) unless Auto Content Length is unchecked.
Content-Encoding
If Auto Unzip Body is checked, this header is used to determine whether the body is gzipped or deflated.
Content-Type
This header is used to determine whether the default body display will be binary or text, and whether to automatically read the body into memory. It also determines how body parameters are encoded (see Parsed Request view)
Cookie
Parsed to extract cookies. May be changed or moved after editing in the Parsed Request view.

Note: Although the editor allows insertion of a colon (:) into the header text, it is not recommended as it can confuse the parser.

Body

The body editor displays the body of the request only if it is completely in memory.

Note: The displayed body may not exactly match the body received. HTTP Proxy attempts to decode the body at a number of levels (Transfer-Encoding, Content-Encoding and Character-Set decoding). After editing the body, re-encoding may not create the same result. For instance, newlines may be re-encoded as the LF character (0x0a) rather than the CR-LF (0x0d 0x0a) sequence. The body will be decoded and re-encoded only if it was edited; otherwise it will be transmitted unchanged.

Parsed Request

The Parsed Request view contains different parts:

Path Editor

Request Type

Cookies Table

Parameters Table

Path Editor

The Path can be used to edit the path, which is everything before the first ? in the action to be sent in the Request.

Request Type

The request type radio buttons allow a one-click setting of the parameter encoding.

Request Type Options - Parsed View
Request Type
Description
GET
Set the method to GET; delete the Content-Type header; and cause body parameters to be ignored.
POST urlencoded
Set the method to POST; set the Content-Type header to
application/x-www-form-urlencoded and cause body parameters to be encoded appropriately.
POST multipart/
form-data
Set the method to POST; set the Content-Type header to multipart/form-data; and cause body parameters to be encoded appropriately.
If a boundary was not previously set, it will be set to a random string.

Cookies Table

This table contains the cookies sent with the request (parsed from the Cookie headers). Editing the cookies in this table will be reflected in the Cookie header in the Raw Request view.

To delete a cookie, select it in the table and click Remove.

To add a cookie, click Add and then enter the cookie name and value in the empty row at the bottom of the table.

Parameters Table

This table allows you to view and edit the parameters sent with the request.

Parameters have a Name, a Value and a Location.

To delete a parameter, select it in the table and click Remove.

To add a parameter, click Add and then enter the Name, Value, and Location in the empty row at the bottom of the table.

Raw Response

The Raw Response view contains different parts:

Response

Headers Table

Body Editor

Response

All options are editable. A drop-down list each for Version and Status provides the most commonly used values; however, you are free to use different values.

Headers Table

The Headers table contains the headers to be sent to the server. You may edit Headers freely.

To delete a header, select it in the table and click Remove.

To add a header, click Add and then enter the Header name and Value in the empty row at the bottom of the table.

The following headers are treated specially:
Special Headers
Header
HTTP Proxy Treatment
Content-Length
This header is ignored (and a new one generated automatically) unless Auto Content Length is unchecked.
Content-Encoding
If Auto Unzip Body is checked, this header is used to determine whether the body is gzipped or deflated.
Content-Type
This header is used to determine whether the default body display will be binary or text, and whether to automatically read the body into memory.
Transfer-Encoding
Parsed to determine whether the response is transferred using Chunked encoding If this is the case, the response will be unchunked when it is read into memory.

Note: Although the editor allows insertion of a colon (:) into the header text, it is not recommended as it can confuse the parser.

Body Editor

The body editor displays the body of the request only if it is completely in memory.

Note: The displayed body may not exactly match the body received. HTTP Proxy attempts to decode the body at a number of levels (Transfer-Encoding, Content-Encoding and Character-Set decoding). After editing the body, re-encoding may not create the same result. For instance, newlines may be re-encoded as the LF character (0x0a) rather than the CR-LF (0x0d 0x0a) sequence. The body will be decoded and re-encoded only if it was edited; otherwise it will be transmitted unchanged.