Diff for /parser3/src/main/pa_http.C between versions 1.88 and 1.89

version 1.88, 2020/10/12 16:58:55 version 1.89, 2020/10/12 21:15:07
Line 18  volatile const char * IDENT_PA_HTTP_C="$ Line 18  volatile const char * IDENT_PA_HTTP_C="$
   
 #ifdef _MSC_VER  #ifdef _MSC_VER
 #include <windows.h>  #include <windows.h>
   #define socklen_t int
 #else  #else
 #define closesocket close  #define closesocket close
 #endif  #endif
Line 130  public: Line 131  public:
         }          }
   
         size_t first_line(){          size_t first_line(){
                 char *headers=strchr(buf, '\n');                  char *header=strchr(buf, '\n');
                 if(!headers)                  if(!header)
                         return false;                          return false;
   
                 return headers-buf;                  return header-buf;
         }          }
   
         const char *status_code(char *status_line, int &result){          const char *status_code(char *status_line, int &result){
Line 897  File_read_http_result pa_internal_file_r Line 898  File_read_http_result pa_internal_file_r
         }          }
   
         // filling $.cookies          // filling $.cookies
         if(Value *vcookies=vtables->hash().get("SET-COOKIE"))          if(vcookies=vtables->hash().get("SET-COOKIE"))
                 result.headers->put(HTTP_COOKIES_NAME, new VTable(parse_cookies(r, vcookies->get_table())));                  result.headers->put(HTTP_COOKIES_NAME, new VTable(parse_cookies(r, vcookies->get_table())));
   
         // output response          // output response
Line 1071  int HTTPD_Server::bind(const char *host_ Line 1072  int HTTPD_Server::bind(const char *host_
             setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, (char *)&sock_on, sizeof(sock_on)) ||              setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, (char *)&sock_on, sizeof(sock_on)) ||
             ::bind(sock, (struct sockaddr*)&me, sizeof(me)) ||              ::bind(sock, (struct sockaddr*)&me, sizeof(me)) ||
             listen(sock, 16)) {              listen(sock, 16)) {
                 close(sock);                  closesocket(sock);
                 int no = pa_socks_errno();                  int no = pa_socks_errno();
                 throw Exception("httpd.bind", 0, "can not bind socket: %s (%d)", pa_socks_strerr(no), no);                  throw Exception("httpd.bind", 0, "can not bind socket: %s (%d)", pa_socks_strerr(no), no);
         }          }
Line 1104  HTTPD_Connection *HTTPD_Server::accept(i Line 1105  HTTPD_Connection *HTTPD_Server::accept(i
         }          }
   
         struct sockaddr_in addr;          struct sockaddr_in addr;
         unsigned int sock_addr_len = sizeof(struct sockaddr_in);          socklen_t sock_addr_len = sizeof(struct sockaddr_in);
         memset(&addr, 0, sock_addr_len);          memset(&addr, 0, sock_addr_len);
   
         int csock = ::accept(sock, (struct sockaddr *)&addr, &sock_addr_len);          int csock = ::accept(sock, (struct sockaddr *)&addr, &sock_addr_len);

Removed from v.1.88  
changed lines
  Added in v.1.89


E-mail: