ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/proj/trunk/Search/HttpHandler.h
(Generate patch)

Comparing trunk/Search/HttpHandler.h (file contents):
Revision 200 by douglas, 2003-07-11T00:54:47-07:00 vs.
Revision 201 by douglas, 2003-07-15T01:01:00-07:00

# Line 46 | Line 46
46   //
47   // Douglas Thrift
48   //
49 < // $Id: HttpHandler.h,v 1.14 2003/07/11 07:54:46 douglas Exp $
49 > // $Id: HttpHandler.h,v 1.15 2003/07/15 08:01:00 douglas Exp $
50  
51   #ifndef _HttpHandler_h_
52   #define _HttpHandler_h_
# Line 64 | Line 64
64   typedef int SOCKET;
65   #endif // _WIN32
66  
67 + #ifdef _OpenSSL_
68 + #include <openssl/crypto.h>
69 +
70 + inline string openssl(bool agent = false)
71 + {
72 +        ostringstream openssl;
73 +
74 +        openssl << "OpenSSL" << (agent ? "/" : " ");
75 +
76 +        long version = SSLeay();
77 +        long major = version / 0x10000000;
78 +        long minor = (version % 0x10000000) / 0x100000;
79 +        long fix = (version % 0x100000) / 0x1000;
80 +        long patch = (version % 0x1000);
81 +        
82 +        openssl << major << "." << minor << "." << fix;
83 +
84 +        if (patch == 0x0)
85 +        {
86 +                openssl << "-dev";
87 +        }
88 +        else if (patch >= 0x1 && patch <= 0xe)
89 +        {
90 +                openssl << "-beta" << patch;
91 +        }
92 +        else if (patch > 0xf)
93 +        {
94 +                openssl << char('a' - 1 + (patch / 0x10) % 26);
95 +        }
96 +
97 +        if (!agent)
98 +        {
99 +                openssl << " " << SSLeay_version(SSLEAY_BUILT_ON) << " "
100 +                   << SSLeay_version(SSLEAY_PLATFORM);
101 +        }
102 +
103 +        return openssl.str();
104 + }
105 + #endif
106 +
107   class HttpHandler
108   {
109   private:
# Line 73 | Line 113 | private:
113          WSADATA data;
114   #endif // _WIN32
115          SOCKET http;
116 + #ifdef _OpenSSL_
117 +        bool tls;
118 + #endif
119          char* buffer;
120          string page;
121          string type;
122          unsigned length;
123          string location;
124          bool chunked;
82        string email;
125          void populate();
126          void putline(const string line = "");
127          string getline();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines