![]() ![]() |
![]() |
1 mike 1.1.2.1 //%///////////////////////////////////////////////////////////////////////////// 2 // 3 // Copyright (c) 2000, 2001 BMC Software, Hewlett-Packard Company, IBM, 4 // The Open Group, Tivoli Systems 5 // 6 // Permission is hereby granted, free of charge, to any person obtaining a copy 7 // of this software and associated documentation files (the "Software"), to 8 // deal in the Software without restriction, including without limitation the 9 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or 10 // sell copies of the Software, and to permit persons to whom the Software is 11 // furnished to do so, subject to the following conditions: 12 // 13 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN 14 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED 15 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT 16 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR 17 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 18 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN 19 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 // 22 mike 1.1.2.1 //============================================================================== 23 // 24 // Author: Mike Brasher (mbrasher@bmc.com) 25 // 26 // Modified By: | ||
27 kumpf 1.1.2.5 // Nag Boranna, Hewlett-Packard Company (nagaraja_boranna@hp.com) | ||
28 mike 1.1.2.1 // 29 //%///////////////////////////////////////////////////////////////////////////// 30 31 #ifndef Pegasus_HTTPMessage_h 32 #define Pegasus_HTTPMessage_h 33 34 #include <iostream> 35 #include <Pegasus/Common/Config.h> 36 #include <Pegasus/Common/MessageQueue.h> 37 #include <Pegasus/Common/Pair.h> 38 #include <Pegasus/Common/String.h> 39 #include <Pegasus/Common/Message.h> 40 #include <Pegasus/Common/Array.h> 41 #include <Pegasus/Common/Monitor.h> | ||
42 kumpf 1.1.2.5 #include <Pegasus/Common/AuthenticationInfo.h> | ||
43 mike 1.1.2.1 44 PEGASUS_NAMESPACE_BEGIN 45 | ||
46 mike 1.1.2.2 typedef Pair<String, String> HTTPHeader; 47 | ||
48 mike 1.1.2.1 /** This message is sent from a connection to its output queue when 49 a complete HTTP message is received. 50 */ 51 class PEGASUS_COMMON_LINKAGE HTTPMessage : public Message 52 { 53 public: 54 | ||
55 mike 1.1.2.4 HTTPMessage(const Array<Sint8>& message_, Uint32 queueId_ = 0); | ||
56 mike 1.1.2.1 57 Array<Sint8> message; | ||
58 mike 1.1.2.4 Uint32 queueId; | ||
59 kumpf 1.1.2.5 AuthenticationInfo* authInfo; | ||
60 mike 1.1.2.1 61 void parse( 62 String& startLine, 63 Array<HTTPHeader>& headers, 64 Sint8*& content, 65 Uint32& contentLength) const; 66 | ||
67 mike 1.1.2.4 void printAll(PEGASUS_STD(ostream)& os) const; | ||
68 mike 1.1.2.2 69 static Boolean lookupHeader( 70 Array<HTTPHeader>& headers, 71 const String& fieldName, | ||
72 mike 1.1.2.3 String& fieldValue, 73 Boolean wildCardMatch = false); | ||
74 mike 1.1.2.2 75 static Boolean parseRequestLine( 76 const String& startLine, 77 String& methodName, 78 String& requestUri, 79 String& httpVersion); | ||
80 mike 1.1.2.1 }; 81 82 PEGASUS_NAMESPACE_END 83 84 #endif /* Pegasus_HTTPMessage_h */ |
No CVS admin address has been configured |
Powered by ViewCVS 0.9.2 |