]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/httpd.h
Try this as the ssl crash fix
[user/henk/code/inspircd.git] / src / modules / httpd.h
index 0b3b6fa81735539174bd4e9a7dc674497cde8377..6c72ecb61b21521ef94045c198b955f7bde94f34 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
 
 /** A modifyable list of HTTP header fields
  */
-class HTTPHeaders
+class HTTPHeaders : public classbase
 {
  protected:
        std::map<std::string,std::string> headers;
  public:
-       
+
        /** Set the value of a header
         * Sets the value of the named header. If the header is already present, it will be replaced
         */
@@ -35,7 +35,7 @@ class HTTPHeaders
        {
                headers[name] = data;
        }
-       
+
        /** Set the value of a header, only if it doesn't exist already
         * Sets the value of the named header. If the header is already present, it will NOT be updated
         */
@@ -44,21 +44,21 @@ class HTTPHeaders
                if (!IsSet(name))
                        SetHeader(name, data);
        }
-       
+
        /** Remove the named header
         */
        void RemoveHeader(const std::string &name)
        {
                headers.erase(name);
        }
-       
+
        /** Remove all headers
         */
        void Clear()
        {
                headers.clear();
        }
-       
+
        /** Get the value of a header
         * @return The value of the header, or an empty string
         */
@@ -67,10 +67,10 @@ class HTTPHeaders
                std::map<std::string,std::string>::iterator it = headers.find(name);
                if (it == headers.end())
                        return std::string();
-               
+
                return it->second;
        }
-       
+
        /** Check if the given header is specified
         * @return true if the header is specified
         */
@@ -79,17 +79,17 @@ class HTTPHeaders
                std::map<std::string,std::string>::iterator it = headers.find(name);
                return (it != headers.end());
        }
-       
+
        /** Get all headers, formatted by the HTTP protocol
         * @return Returns all headers, formatted according to the HTTP protocol. There is no request terminator at the end
         */
        std::string GetFormattedHeaders()
        {
                std::string re;
-               
+
                for (std::map<std::string,std::string>::iterator i = headers.begin(); i != headers.end(); i++)
                        re += i->first + ": " + i->second + "\r\n";
-               
+
                return re;
        }
 };
@@ -105,11 +105,12 @@ class HTTPRequest : public classbase
        std::string document;
        std::string ipaddr;
        std::string postdata;
-       
+
  public:
 
        HTTPHeaders *headers;
-       
+       int errorcode;
+
        /** A socket pointer, which you must return in your HTTPDocument class
         * if you reply to this request.
         */
@@ -180,7 +181,7 @@ class HTTPDocument : public classbase
  public:
 
        HTTPHeaders headers;
-       
+
        /** The socket pointer from an earlier HTTPRequest
         */
        void* sock;