]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/HttpBody.h
2 * Copyright (C) 1996-2019 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
12 #include "sbuf/SBuf.h"
14 class Packable
; // TODO: Add and use base/forward.h.
16 /** Representation of a short predetermined message
18 * This class is useful to represent short HTTP messages, whose
19 * contents are known in advance, e.g. error messages
26 void set(const SBuf
&newContent
) { raw_
= newContent
; }
28 /** output the HttpBody contents into the supplied container
30 * \note content is not cleared by the output operation
32 void packInto(Packable
*) const;
34 /// clear the HttpBody content
35 void clear() { raw_
.clear(); }
37 /// \return true if there is any content in the HttpBody
38 bool hasContent() const { return raw_
.length() > 0; }
40 /// \return size of the HttpBody's message content
41 size_t contentSize() const { return raw_
.length(); }
43 /// \return body bytes (possibly not nil-terminated)
44 const char *content() const { return raw_
.rawContent(); }
47 HttpBody
& operator=(const HttpBody
&); //not implemented
48 HttpBody(const HttpBody
&); // not implemented
50 SBuf raw_
; // body bytes
53 #endif /* HTTPBODY_H_ */