Changeset 45 in cheroxy for trunk/src/main.cpp


Ignore:
Timestamp:
11/22/12 18:38:07 (11 years ago)
Author:
cheese
Message:

#1 change access modifier of filter and http messages

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/main.cpp

    r44 r45  
    6868}
    6969
    70 THREAD_FUNCTION_RETURN
    71 THREAD_FUNCTION_CALLING_CONVENTION
    72 CRXProxyMTWrapper (void * aThreadArg)
    73 {
    74     int         aResult = 0;
    75 
    76     CRXSocket   * aProxySocket = (CRXSocket *)aThreadArg;
    77     CRXProxy    * aProxy = NULL;
    78 
    79     char        aFilterFileExtension[] = "exe|gif|jpg|png|css|js|ico|swf|";
    80     char        * aHttpMessage = NULL;
    81     int         aHttpMessageLength = 0;
    82 
    83     /*----------------------------------------------------------------*/
    84     for (;;)
    85     {
    86         aResult = aProxySocket->Accept ();
    87         if (aResult < 0)
    88         {
    89             cerr << "Failed to accept." << endl;
    90             break;
    91         }
    92 
    93         if ((aProxy = new(std::nothrow) CRXProxy ()) == NULL)
    94         {
    95             cerr << "Failed to get proxy." << endl;
    96             aResult = -1;
    97             break;
    98         }
    99 
    100         aProxy->SetClientSocket (aResult);
    101         aProxy->SetServerTimeout (2);
    102         aProxy->SetRequestFilter (CRX_FILTER_REQUEST_FILE_EXTENSION,
    103                                   CRX_FILTER_MATCHED,
    104                                   aFilterFileExtension);
    105 
    106         aResult = aProxy->Forward ();
    107         if (aResult < 0)
    108         {
    109             cout << aProxy->GetErrorMessage () << endl;
    110         }
    111 
    112         if (!aProxy->CheckRequestFilter (CRX_FILTER_REQUEST_FILE_EXTENSION))
    113         {
    114             aHttpMessageLength = aProxy->GetHttpRequestLength ();
    115             aHttpMessage = (char *) calloc (aHttpMessageLength + 1, 1);
    116             aProxy->GetHttpRequest (aHttpMessage, aHttpMessageLength);
    117             CRX_DEBUG_TRACE ("== Request: \n%s\n", aHttpMessage);
    118             free (aHttpMessage);
    119 
    120             aHttpMessageLength = aProxy->GetHttpResponseHeaderLength ();
    121             aHttpMessage = (char *) calloc (aHttpMessageLength + 1, 1);
    122             aProxy->GetHttpResponseHeader (aHttpMessage, aHttpMessageLength);
    123             CRX_DEBUG_TRACE ("== Response: \n%s\n", aHttpMessage);
    124             free (aHttpMessage);
    125 
    126             aHttpMessageLength = aProxy->GetHttpResponseBodyLength ();
    127             aHttpMessage = (char *) calloc (aHttpMessageLength + 1, 1);
    128             aProxy->GetHttpResponseBody (aHttpMessage, aHttpMessageLength);
    129             CRX_DEBUG_TRACE_BIN (aHttpMessage, aHttpMessageLength, "== Content-Body: \n");
    130             free (aHttpMessage);
    131         }
    132 
    133         delete aProxy;
    134     }
    135 
    136     cout << " thread exit." << endl;
    137     /*----------------------------------------------------------------*/
    138 
    139     return (THREAD_FUNCTION_RETURN)0;
    140 }
    141 
    14270int ThreadPool (CRXSocket   * aProxySocket,
    14371                const int   aThreadPoolCount)
     
    17199    return aResult;
    172100}
     101
     102THREAD_FUNCTION_RETURN
     103THREAD_FUNCTION_CALLING_CONVENTION
     104CRXProxyMTWrapper (void * aThreadArg)
     105{
     106    int         aResult = 0;
     107
     108    CRXSocket   & aProxySocket = *((CRXSocket *)aThreadArg);
     109    CRXProxy    * aProxy = NULL;
     110
     111    char        aFilterFileExtension[] = "exe|gif|jpg|png|css|js|ico|swf|";
     112
     113    /*----------------------------------------------------------------*/
     114    for (;;)
     115    {
     116        aResult = aProxySocket.Accept ();
     117        if (aResult < 0)
     118        {
     119            cerr << aProxySocket.GetErrorMessage () << endl;
     120            aResult = -1;
     121            break;
     122        }
     123
     124        aProxy = new(std::nothrow) CRXProxy (aResult);
     125        if (aProxy == NULL)
     126        {
     127            cerr << "Failed to get proxy." << endl;
     128            aResult = -1;
     129            break;
     130        }
     131        aProxy->SetServerTimeout (2);
     132
     133        CRXFilter       & aFilter   = aProxy->GetFilter ();
     134        CRXHttpRequest  & aRequest  = aProxy->GetHttpRequest ();
     135        CRXHttpResponse & aResponse = aProxy->GetHttpResponse ();
     136
     137        aFilter.SetRequestFilter (CRX_FILTER_REQUEST_FILE_EXTENSION,
     138                                  CRX_FILTER_MATCHED,
     139                                  aFilterFileExtension);
     140
     141        aResult = aProxy->Forward ();
     142        if (aResult < 0)
     143        {
     144            cerr << aProxy->GetErrorMessage () << endl;
     145        }
     146
     147        if (!aFilter.CheckRequestFilter (CRX_FILTER_REQUEST_FILE_EXTENSION, aRequest))
     148        {
     149            CRX_DEBUG_TRACE ("== Request:  \n%s\n", aRequest.GetHeader ().c_str ());
     150            CRX_DEBUG_TRACE ("== Response: \n%s\n", aResponse.GetHeader ().c_str ());
     151            CRX_DEBUG_TRACE_BIN (aResponse.GetContentBody (),
     152                                 aResponse.GetContentLength (),
     153                                 "== Content-Body: \n");
     154        }
     155
     156        delete aProxy;
     157    }
     158
     159    cout << " thread exit." << endl;
     160    /*----------------------------------------------------------------*/
     161
     162    return (THREAD_FUNCTION_RETURN)0;
     163}
Note: See TracChangeset for help on using the changeset viewer.