(file) Return to HTTPAuthenticatorDelegator.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Server

Diff for /pegasus/src/Pegasus/Server/HTTPAuthenticatorDelegator.cpp between version 1.10 and 1.11

version 1.10, 2002/03/28 20:39:19 version 1.11, 2002/04/03 21:53:27
Line 50 
Line 50 
     _operationMessageQueueId(operationMessageQueueId),     _operationMessageQueueId(operationMessageQueueId),
     _exportMessageQueueId(exportMessageQueueId)     _exportMessageQueueId(exportMessageQueueId)
 { {
       PEG_METHOD_ENTER(TRC_HTTP,
           "HTTPAuthenticatorDelegator::HTTPAuthenticatorDelegator");
   
     _authenticationManager = new AuthenticationManager();     _authenticationManager = new AuthenticationManager();
   
       PEG_METHOD_EXIT();
 } }
  
 HTTPAuthenticatorDelegator::~HTTPAuthenticatorDelegator() HTTPAuthenticatorDelegator::~HTTPAuthenticatorDelegator()
 { {
       PEG_METHOD_ENTER(TRC_HTTP,
           "HTTPAuthenticatorDelegator::~HTTPAuthenticatorDelegator");
   
     delete _authenticationManager;     delete _authenticationManager;
  
       PEG_METHOD_EXIT();
 } }
  
 void HTTPAuthenticatorDelegator::_sendResponse( void HTTPAuthenticatorDelegator::_sendResponse(
     Uint32 queueId,     Uint32 queueId,
     Array<Sint8>& message)     Array<Sint8>& message)
 { {
       PEG_METHOD_ENTER(TRC_HTTP,
           "HTTPAuthenticatorDelegator::_sendResponse");
   
     MessageQueue* queue = MessageQueue::lookup(queueId);     MessageQueue* queue = MessageQueue::lookup(queueId);
  
     if (queue)     if (queue)
Line 72 
Line 84 
  
         queue->enqueue(httpMessage);         queue->enqueue(httpMessage);
     }     }
   
       PEG_METHOD_EXIT();
 } }
  
 void HTTPAuthenticatorDelegator::_sendChallenge( void HTTPAuthenticatorDelegator::_sendChallenge(
     Uint32 queueId,     Uint32 queueId,
     const String& authResponse)     const String& authResponse)
 { {
       PEG_METHOD_ENTER(TRC_HTTP,
           "HTTPAuthenticatorDelegator::_sendChallenge");
   
     //     //
     // build unauthorized (401) response message     // build unauthorized (401) response message
     //     //
Line 86 
Line 103 
     XmlWriter::appendUnauthorizedResponseHeader(message, authResponse);     XmlWriter::appendUnauthorizedResponseHeader(message, authResponse);
  
     _sendResponse(queueId, message);     _sendResponse(queueId, message);
   
       PEG_METHOD_EXIT();
 } }
  
  
Line 93 
Line 112 
     Uint32 queueId,     Uint32 queueId,
     const String errorMessage)     const String errorMessage)
 { {
       PEG_METHOD_ENTER(TRC_HTTP,
           "HTTPAuthenticatorDelegator::_sendError");
   
     //     //
     // build erro response message      // build error response message
     //     //
  
     Array<Sint8> message;     Array<Sint8> message;
Line 104 
Line 126 
     //message = XmlWriter::formatErrorResponseHeader(errorMessage);     //message = XmlWriter::formatErrorResponseHeader(errorMessage);
  
     _sendResponse(queueId, message);     _sendResponse(queueId, message);
   
       PEG_METHOD_EXIT();
 } }
  
  
 void HTTPAuthenticatorDelegator::handleEnqueue(Message *message) void HTTPAuthenticatorDelegator::handleEnqueue(Message *message)
 { {
       PEG_METHOD_ENTER(TRC_HTTP,
           "HTTPAuthenticatorDelegator::handleEnqueue");
  
    if (!message)    if (!message)
       {
           PEG_METHOD_EXIT();
         return;         return;
       }
  
    // Flag indicating whether the message should be deleted after handling.    // Flag indicating whether the message should be deleted after handling.
    // This should be set to false by handleHTTPMessage when the message is    // This should be set to false by handleHTTPMessage when the message is
Line 128 
Line 156 
     {     {
         delete message;         delete message;
     }     }
   
       PEG_METHOD_EXIT();
 } }
  
 void HTTPAuthenticatorDelegator::handleEnqueue() void HTTPAuthenticatorDelegator::handleEnqueue()
 { {
       PEG_METHOD_ENTER(TRC_HTTP,
           "HTTPAuthenticatorDelegator::handleEnqueue");
   
     Message* message = dequeue();     Message* message = dequeue();
     if(message)     if(message)
        handleEnqueue(message);        handleEnqueue(message);
   
       PEG_METHOD_EXIT();
 } }
  
 void HTTPAuthenticatorDelegator::handleHTTPMessage( void HTTPAuthenticatorDelegator::handleHTTPMessage(
     HTTPMessage* httpMessage,     HTTPMessage* httpMessage,
     Boolean & deleteMessage)     Boolean & deleteMessage)
 { {
       PEG_METHOD_ENTER(TRC_HTTP,
           "HTTPAuthenticatorDelegator::handleHTTPMessage");
   
     Boolean authenticated = false;     Boolean authenticated = false;
     deleteMessage = true;     deleteMessage = true;
  
Line 181 
Line 219 
     HTTPMessage::parseRequestLine(     HTTPMessage::parseRequestLine(
         startLine, methodName, requestUri, httpVersion);         startLine, methodName, requestUri, httpVersion);
  
       if (methodName != "M-POST" && methodName != "POST")
       {
           // Only POST and M-POST are implemented by this server
           Array<Sint8> message;
           XmlWriter::appendNotImplementedResponseHeader(message);
           _sendResponse(queueId, message);
       }
       else
       {
     //     //
     // Process M-POST and POST messages:     // Process M-POST and POST messages:
     //     //
  
     if (methodName == "M-POST" || methodName == "POST")  
     {  
         httpMessage->message.append('\0');         httpMessage->message.append('\0');
  
         //         //
Line 225 
Line 270 
                     _sendError(queueId, "Invalid Request");                     _sendError(queueId, "Invalid Request");
                 }                 }
  
                   PEG_METHOD_EXIT();
                 return;                 return;
             }             }
         }         }
Line 261 
Line 307 
                         _sendError(queueId, "Invalid Request");                         _sendError(queueId, "Invalid Request");
                     }                     }
  
                       PEG_METHOD_EXIT();
                     return;                     return;
                 }                 }
             }             }
Line 330 
Line 377 
                 Array<Sint8> message;                 Array<Sint8> message;
                 XmlWriter::appendBadRequestResponseHeader(message);                 XmlWriter::appendBadRequestResponseHeader(message);
                 _sendResponse(queueId, message);                 _sendResponse(queueId, message);
                   PEG_METHOD_EXIT();
                 return;                 return;
             }             }
         }         }
Line 348 
Line 396 
             }             }
         }         }
     }     }
   
       PEG_METHOD_EXIT();
 } }
  
 const char* HTTPAuthenticatorDelegator::getQueueName() const const char* HTTPAuthenticatorDelegator::getQueueName() const
 { {
       PEG_METHOD_ENTER(TRC_HTTP,
           "HTTPAuthenticatorDelegator::getQueueName");
   
       PEG_METHOD_EXIT();
     return PEGASUS_SERVICENAME_HTTPAUTHDELEGATOR;     return PEGASUS_SERVICENAME_HTTPAUTHDELEGATOR;
 } }
  


Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2