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

now should it works

parent d8adb4da
Loading
Loading
Loading
Loading
+11 −4
Changes for examples/httpclient.cpp: 11 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -57,12 +57,19 @@ int main(int argc, char** argv){
        libhttppp::HttpResponse res;

        size_t hsize=res.parse(data,len);
        size_t amount = len-hsize;
        std::string html;
        html.assign(data+hsize,amount);

        std::cout << res.getState() <<std::endl;

        std::string html;
        html.resize(len-hsize);
        html.assign(data+hsize,len-hsize);

        while(amount < res.getContentLength()){
          size_t recv=cltsock->recvData(&srvsock,data,512);
          amount+=recv;
          html.append(data,recv);
        }

        if(!html.empty())
          std::cout << html << std::endl;
    }catch(netplus::NetException &exp){
        std::cerr << exp.what() <<std::endl;
+4 −4
Changes for src/http.cpp: 4 added lines, 4 removed lines.
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ const char* libhttppp::HttpHeader::getValue(HttpHeader::HeaderData* pos){

const char* libhttppp::HttpHeader::getData(const char* key,HttpHeader::HeaderData **pos){
  HeaderData *curdat;
  if(!pos)
  if(!pos || !*pos)
    curdat =_firstHeaderData;
  else
    curdat = *pos;
@@ -345,10 +345,10 @@ size_t libhttppp::HttpResponse::parse(const char *data,size_t inlen){
      delimeter=pos;
    }
    if( (data[pos]=='\r' && data[pos+2]=='\r') ){
      pos+=2;
      pos+=3;
      break;
    }else if((data[pos]=='\n' && data[pos+1]=='\n')){
      ++pos;
      pos+=2;
      break;
    }
    if(data[pos]=='\r' || (data[pos-1]!='\r' && data[pos]=='\n') ){
@@ -381,7 +381,7 @@ size_t libhttppp::HttpResponse::parse(const char *data,size_t inlen){
    }
    ++pos;
  }
  return pos;
  return ++pos;
}