Commit 59cf156c authored by Paul Asmuth's avatar Paul Asmuth
Browse files

cleaning up

parent 72bd7db3
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -47,7 +47,8 @@ void HTTPInputStream::readHeaders(
  std::pair<std::string, std::string>* cur_header;

  while (state_ == HTTP_STATE_HKEY || state_ == HTTP_STATE_HVAL) {
    if (target->size() == 0 || target->back().second.size() > 0) {
    if (target->size() == 0 || 
        (state_ == HTTP_STATE_HKEY && target->back().second.size() > 0)) {
      target->emplace_back("", "");
    }

@@ -71,7 +72,7 @@ void HTTPInputStream::readNextByte(std::string* target) {
  switch (byte) {

    case '\r':
      break;
      return;

    case ' ':
      switch (state_) {
@@ -125,6 +126,10 @@ void HTTPInputStream::readNextByte(std::string* target) {
      break;
  }

  if (byte == ' ' && target->size() == 0) {
    return;
  }

  *target += byte;
}

+7 −8
Original line number Diff line number Diff line
@@ -29,6 +29,9 @@ void ThreadedHTTPServer::onConnection(int fd) {

void ThreadedHTTPServer::handleConnection(int fd) {
  util::FileInputStream input_stream(fd, false);
  util::FileOutputStream output_stream(fd, false);

  /* read http headers */
  ev::HTTPInputStream http_stream(&input_stream);

  std::string method;
@@ -36,17 +39,13 @@ void ThreadedHTTPServer::handleConnection(int fd) {
  std::string version;
  http_stream.readStatusLine(&method, &url, &version);

  printf("method=%s, url=%s, version=%s\n",
      method.c_str(),
      url.c_str(),
      version.c_str());

  std::vector<std::pair<std::string, std::string>> headers;
  http_stream.readHeaders(&headers);

  for (const auto& header : headers) {
    printf("header: %s => %s\n", header.first.c_str(), header.second.c_str());
  }
  //HTTPRequest req(method, url, version, headers);
  //HTTPResponse res;

  output_stream.printf("200 OK\nContent-Length: 5\n\nfnord\n");
}

}