HttpBody.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2023 The Squid Software Foundation and contributors
3  *
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.
7  */
8 
9 #ifndef SQUID_SRC_HTTPBODY_H
10 #define SQUID_SRC_HTTPBODY_H
11 
12 #include "sbuf/SBuf.h"
13 
14 class Packable; // TODO: Add and use base/forward.h.
15 
21 class HttpBody
22 {
23 public:
24  HttpBody() {}
25 
26  void set(const SBuf &newContent) { raw_ = newContent; }
27 
32  void packInto(Packable *) const;
33 
35  void clear() { raw_.clear(); }
36 
38  bool hasContent() const { return raw_.length() > 0; }
39 
41  size_t contentSize() const { return raw_.length(); }
42 
44  const char *content() const { return raw_.rawContent(); }
45 
46 private:
47  HttpBody& operator=(const HttpBody&); //not implemented
48  HttpBody(const HttpBody&); // not implemented
49 
50  SBuf raw_; // body bytes
51 };
52 
53 #endif /* SQUID_SRC_HTTPBODY_H */
54 
size_t contentSize() const
Definition: HttpBody.h:41
Definition: SBuf.h:93
const char * content() const
Definition: HttpBody.h:44
void clear()
Definition: SBuf.cc:175
void set(const SBuf &newContent)
Definition: HttpBody.h:26
const char * rawContent() const
Definition: SBuf.cc:509
SBuf raw_
Definition: HttpBody.h:50
HttpBody & operator=(const HttpBody &)
bool hasContent() const
Definition: HttpBody.h:38
size_type length() const
Returns the number of bytes stored in SBuf.
Definition: SBuf.h:419
void packInto(Packable *) const
Definition: HttpBody.cc:14
HttpBody()
Definition: HttpBody.h:24
void clear()
clear the HttpBody content
Definition: HttpBody.h:35

 

Introduction

Documentation

Support

Miscellaneous