6 #ifndef SQUID__ADAPTATION__MESSAGE_H
7 #define SQUID__ADAPTATION__MESSAGE_H
13 typedef RefCount
<BodyPipe
> BodyPipePointer
;
15 namespace Adaptation
{
17 // Manages the header and the body of an HTTP message being worked on.
18 // Adaptation transactions use this class for virgin and adapted HTTP messages.
19 // TODO: remove this class after adding refcounted message pointers and
20 // after making sure nobody abruptly clears the HttpMsg::body_pipe pointer.
25 typedef HttpMsg Header
;
28 Message(Header
*aHeader
);
32 void set(Header
*aHeader
);
34 static void ShortCircuit(Message
&src
, Message
&dest
);
37 // virgin or adapted message being worked on
38 Header
*header
; // parsed HTTP status/request line and headers
40 /// Copy of header->body_pipe, in case somebody moves the original.
41 /// \todo Find and fix the code that moves (if any) and remove this.
42 BodyPipePointer body_pipe
;
45 Message(const Message
&); // not implemented
46 Message
&operator =(const Message
&); // not implemented
49 } // namespace Adaptation;
51 // TODO: replace ICAPInOut with Adaptation::Message (adding one for "cause")
53 #endif /* SQUID__ADAPTATION__MESSAGE_H */