Changeset 1248


Ignore:
Timestamp:
2000-06-28T13:24:59+12:00 (24 years ago)
Author:
sjboddie
Message:

got "POST" cgi data to work when using fastcgi

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/src/recpt/cgiwrapper.cpp

    r1170 r1248  
    2828/*
    2929   $Log$
     30   Revision 1.27  2000/06/28 01:24:59  sjboddie
     31   got "POST" cgi data to work when using fastcgi
     32
    3033   Revision 1.26  2000/05/12 03:09:26  sjboddie
    3134   minor modifications to get web library compiling under VC++ 6.0
     
    660663    if (isfastcgi) {
    661664      if (FCGX_Accept(&fcgiin, &fcgiout, &fcgierr, &fcgienvp) < 0) break;
    662       aURIStr = FCGX_GetParam("QUERY_STRING", fcgienvp);
    663       if (aURIStr != NULL) argstr = aURIStr;
    664       else argstr = "";
     665
     666      char *request_method_str = FCGX_GetParam ("REQUEST_METHOD", fcgienvp);
     667      char *content_length_str = FCGX_GetParam ("CONTENT_LENGTH", fcgienvp);
     668
     669      if (request_method_str != NULL && strcmp(request_method_str, "POST") == 0 &&
     670      content_length_str != NULL)  {
     671    // POST form data
     672    int content_length = text_t(content_length_str).getint();
     673    if (content_length > 0) {
     674      argstr.clear();
     675      int c;
     676      do {
     677        c = FCGX_GetChar (fcgiin);
     678        if (c < 0) break;
     679        argstr.push_back (c);
     680        content_length--;
     681      } while (content_length > 0);
     682    }
     683
     684    char *cargstr = argstr.getcstr();
     685
     686      } else {
     687    // GET form data
     688    aURIStr = FCGX_GetParam("QUERY_STRING", fcgienvp);
     689    if (aURIStr != NULL) argstr = aURIStr;
     690    else argstr = "";
     691      }
    665692    }
    666693#endif
Note: See TracChangeset for help on using the changeset viewer.