Once the request-/response-data is wrapped in the ProxyConnection-interface (or its implementing classes, respectively), the content is available as array of bytes and the header fields are accessible either as hash table or as pure text. A HeaderField, in FOXY, is not just a name-value-pair. To overcome problems caused by name-inconsistencies (e.g. ''User-agent'' or ''User-Agent''), we additionally store a lowercase version of the header field's name, which acts as a unique key for the field.
Figure 2.9 shows the usage of the connection-classes during a common HTTP-connection through FOXY.