Logo
~Sockets~
~Examples~
~Contact~


ServerSocket Class Reference

#include <ServerSocket.h>

Inheritance diagram for ServerSocket:

Inheritance graph
[legend]
Collaboration diagram for ServerSocket:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ServerSocket (ISocketHandler &)
 ~ServerSocket ()
void Init ()
void OnAccept ()
void OnFirst ()
void OnHeader (const std::string &, const std::string &)
void OnHeaderComplete ()
void OnData (const char *, size_t)
void OnDetached ()

Detailed Description

File ......... ServerSocket.h Published .... 2004-07-13 Author ....... grymse@alhem.net

Definition at line 30 of file ServerSocket.h.


Constructor & Destructor Documentation

ServerSocket::ServerSocket ( ISocketHandler &   ) 

Definition at line 32 of file ServerSocket.cpp.

00033 :HTTPSocket(h)
00034 ,Gemensamt()
00035 {
00036 }

ServerSocket::~ServerSocket (  ) 

Definition at line 39 of file ServerSocket.cpp.

00040 {
00041 }


Member Function Documentation

void ServerSocket::Init (  ) 

Definition at line 109 of file ServerSocket.cpp.

References ServerHandler::GetInt().

00110 {
00111         ServerHandler& ref = static_cast<ServerHandler&>(Handler());
00112         if (GetParent() -> GetPort() == ref.GetInt("secure/port"))
00113         {
00114                 EnableSSL();
00115         }
00116 }

void ServerSocket::OnAccept (  ) 

Definition at line 119 of file ServerSocket.cpp.

00120 {
00121         printf("Accept!\n");
00122         HTTPSocket::OnAccept();
00123 }

void ServerSocket::OnFirst (  ) 

Definition at line 44 of file ServerSocket.cpp.

00045 {
00046         //printf("IsRequest: %s\n",IsRequest() ? "YES" : "NO");
00047         if (IsRequest())
00048         {
00049                 printf(" Method: %s\n",GetMethod().c_str());
00050                 printf(" URL: %s\n",GetUrl().c_str());
00051                 printf(" Http version: %s\n",GetHttpVersion().c_str());
00052         }
00053 
00054         //printf("IsResponse: %s\n",IsResponse() ? "YES" : "NO");
00055         if (IsResponse())
00056         {
00057                 //printf(" Http version: %s\n",GetHttpVersion().c_str());
00058                 //printf(" Status: %s\n",GetStatus().c_str());
00059                 //printf(" Status text: %s\n",GetStatusText().c_str());
00060         }
00061 
00062 }

void ServerSocket::OnHeader ( const std::string &  ,
const std::string &   
)

Definition at line 65 of file ServerSocket.cpp.

References Gemensamt::SetHttpReferer(), Gemensamt::SetServer(), and Gemensamt::SetUserAgent().

00066 {
00067         //printf("OnHeader(): %s: %s\n",key.c_str(),value.c_str());
00068         if (!strcasecmp(key.c_str(),"host"))
00069         {
00070                 SetServer(value);
00071         }
00072         else
00073         if (!strcasecmp(key.c_str(),"user-agent"))
00074         {
00075                 SetUserAgent(value);
00076         }
00077         else
00078         if (!strcasecmp(key.c_str(),"referer"))
00079         {
00080                 SetHttpReferer(value);
00081         }
00082 }

void ServerSocket::OnHeaderComplete (  ) 

Definition at line 90 of file ServerSocket.cpp.

References DEB.

00091 {
00092 #ifdef ENABLE_DETACH
00093         if (!Detach())
00094         {
00095 DEB(            printf("Detach() failed\n");)
00096                 SetCloseAndDelete();
00097         }
00098 #endif
00099 }

void ServerSocket::OnData ( const char *  ,
size_t   
)

Definition at line 85 of file ServerSocket.cpp.

00086 {
00087 }

void ServerSocket::OnDetached (  ) 

Definition at line 102 of file ServerSocket.cpp.

References Gemensamt::GetServer(), and Deliver::Run().

00103 {
00104         Deliver d(*this,GetServer(),"http",GetMethod(),GetUrl());
00105         d.Run();
00106 }


The documentation for this class was generated from the following files:
Page, code, and content Copyright (C) 2006 by Anders Hedström
Generated on Mon Aug 29 20:21:47 2005 for C++ Sockets by  doxygen 1.4.4