Commit bf3f1da1 authored by jan.koester's avatar jan.koester
Browse files

now it works with nginx

parent 3d6a1b99
Loading
Loading
Loading
Loading
+11 −2
Changes for examples/httpclient.cpp: 11 added lines, 2 removed lines.
Original line number Diff line number Diff line
@@ -47,7 +47,8 @@ int main(int argc, char** argv){
            req.setRequestVersion(HTTPVERSION(1.1));
            *req.setData("connection") << "keep-alive";
            *req.setData("host") << argv[1] << ":" << argv[2];
            *req.setData("user-agent") << "libhttppp (0.1)";
            *req.setData("Accept") << "text/html";
            *req.setData("user-agent") << "libhttppp/1.0 (Alpha Version 0.1)";
            req.send(cltsock,&srvsock);
        }catch(libhttppp::HTTPException &e){
            std::cerr << e.what() << std::endl;
@@ -66,7 +67,15 @@ int main(int argc, char** argv){
          if(amount>0)
            html.assign(data+hsize,amount);

          while(amount < res.getContentLength()){
          size_t rlen;

          try{
            rlen=res.getContentLength();
          }catch(...) {
            rlen=amount;
          }

          while(amount < rlen){
            try{
                size_t recv=cltsock->recvData(&srvsock,data,16384);
                amount+=recv;
+8 −11
Changes for src/http.cpp: 8 added lines, 11 removed lines.
Original line number Diff line number Diff line
@@ -355,16 +355,15 @@ size_t libhttppp::HttpResponse::parse(const char *data,size_t inlen){
          }
        }
      }
      delimeter=0;
      lrow=pos;
      startkeypos=lrow+2;
      if(pos+3 < inlen && data[lrow] == '\n' && data[pos+2]=='\r'){
        pos+=3;
      if(pos+2 < inlen  && data[pos+2]=='\r'){
        ++pos;
        break;
      }else if(pos+2 < inlen && data[lrow] == '\n' && data[pos+1]=='\n'){
        pos+=2;
      }else if(pos+1 < inlen && data[pos+1]=='\n'){
        break;
      }
      delimeter=0;
      lrow=pos;
      startkeypos=lrow+2;
    }
    ++pos;
  }
@@ -376,7 +375,7 @@ size_t libhttppp::HttpResponse::parse(const char *data,size_t inlen){
  if(getData("connection"))
    _Connection=getData("connection");

  return pos;
  return ++pos;
}

libhttppp::HttpResponse::~HttpResponse(){
@@ -596,9 +595,7 @@ void libhttppp::HttpRequest::send(netplus::socket* src,netplus::socket* dest){
  printHeader(header);

  try {
    src->sendData(dest,(void*)header.c_str(),header.length());

    size_t send=0;
    size_t send=src->sendData(dest,(void*)header.c_str(),header.length());

    while(send<_Request.length()){
      send+=src->sendData(dest,(void*)_Request.substr(send,_Request.length()-send).c_str(),