/usr/include/cgicc/HTTPHeader.h is in libcgicc5-dev 3.2.9-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | /* -*-mode:c++; c-file-style: "gnu";-*- */
/*
* $Id: HTTPHeader.h,v 1.9 2007/07/02 18:48:18 sebdiaz Exp $
*
* Copyright (C) 1996 - 2004 Stephen F. Booth <sbooth@gnu.org>
* 2007 Sebastien DIAZ <sebastien.diaz@gmail.com>
* Part of the GNU cgicc library, http://www.gnu.org/software/cgicc
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
*/
#ifndef _HTTPHEADER_H_
#define _HTTPHEADER_H_ 1
#ifdef __GNUG__
# pragma interface
#endif
/*! \file HTTPHeader.h
* \brief Abstract base class for simple HTTP headers
*
*/
#include <string>
#include <vector>
#include "cgicc/MStreamable.h"
#include "cgicc/HTTPCookie.h"
namespace cgicc {
// ============================================================
// Class HTTPHeader
// ============================================================
/*! \class HTTPHeader HTTPHeader.h cgicc/HTTPHeader.h
* \brief Abstract base class for all simple HTTP response headers.
*
*/
class CGICC_API HTTPHeader : public MStreamable
{
public:
/*! \name Constructors and Destructor */
//@{
/*!
* \brief Constructor.
* \param data The header data.
*/
HTTPHeader(const std::string& data);
/*!
* \brief Copy constructor.
* \param header The HTTPHeader to copy.
*/
HTTPHeader(const HTTPHeader& header);
/*!
* \brief Destructor
*
*/
virtual ~HTTPHeader();
//@}
// ============================================================
/*! \name Cookie Management */
//@{
/*!
* \brief Set a cookie to go out with this HTTPResponseHeader
* \param cookie The HTTPCookie to set
*/
inline HTTPHeader&
setCookie(const HTTPCookie& cookie)
{ fCookies.push_back(cookie); return *this; }
/*!
* \brief Get a list of all cookies associated with this header
* \return All the cookies associated with this header
*/
inline const std::vector<HTTPCookie>&
getCookies() const
{ return fCookies; }
//@}
// ============================================================
/*! \name Accessor Method */
//@{
/*!
* Get the data contained in this HTTP header.
* @return The data contained in this header.
*/
inline std::string
getData() const
{ return fData; }
//@}
// ============================================================
/*! \name Subclass Methods */
//@{
/*!
* \brief Write this HTTPHeader to a stream.
*
* Subclasses must implement this function.
* \param out The ostream to which to write.
*/
virtual void
render(std::ostream& out) const = 0;
//@}
private:
HTTPHeader();
std::string fData;
std::vector<HTTPCookie> fCookies;
};
} // namespace cgicc
#endif /* ! _HTTPHEADER_H_ */
|