1 #ifndef SQUID__ADAPTATION__MESSAGE_H
2 #define SQUID__ADAPTATION__MESSAGE_H
4 #include "base/RefCount.h"
8 typedef RefCount
<BodyPipe
> BodyPipePointer
;
13 // Manages the header and the body of an HTTP message being worked on.
14 // Adaptation transactions use this class for virgin and adapted HTTP messages.
15 // TODO: remove this class after adding refcounted message pointers and
16 // after making sure nobody abruptly clears the HttpMsg::body_pipe pointer.
21 typedef HttpMsg Header
;
24 Message(Header
*aHeader
);
28 void set(Header
*aHeader
);
30 static void ShortCircuit(Message
&src
, Message
&dest
);
33 // virgin or adapted message being worked on
34 Header
*header
; // parsed HTTP status/request line and headers
36 /// Copy of header->body_pipe, in case somebody moves the original.
37 /// \todo Find and fix the code that moves (if any) and remove this.
38 BodyPipePointer body_pipe
;
41 Message(const Message
&); // not implemented
42 Message
&operator =(const Message
&); // not implemented
45 } // namespace Adaptation;
47 // TODO: replace ICAPInOut with Adaptation::Message (adding one for "cause")
49 #endif /* SQUID__ADAPTATION__MESSAGE_H */