X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=httpinput.cpp;h=e2cc1975a44e56a4d84bd454ceaea4ae733d7118;hb=1c516c4f17b0eb8b45ea1bd6d1e166c0de5b3a01;hp=c9231453e1e919062024073d1d73efa1dc1fd487;hpb=22cd7233eabd1d012f29e890ec67c6b70a0d6753;p=cubemap diff --git a/httpinput.cpp b/httpinput.cpp index c923145..e2cc197 100644 --- a/httpinput.cpp +++ b/httpinput.cpp @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include @@ -22,6 +23,7 @@ #include "parse.h" #include "serverpool.h" #include "state.pb.h" +#include "stream.h" #include "util.h" #include "version.h" @@ -74,15 +76,8 @@ HTTPInput::HTTPInput(const InputProto &serialized) pending_data.resize(serialized.pending_data().size()); memcpy(&pending_data[0], serialized.pending_data().data(), serialized.pending_data().size()); - string protocol; - parse_url(url, &protocol, &host, &port, &path); // Don't care if it fails. - - // Older versions stored the extra \r\n in the HTTP header. - // Strip it if we find it. - if (http_header.size() >= 4 && - memcmp(http_header.data() + http_header.size() - 4, "\r\n\r\n", 4) == 0) { - http_header.resize(http_header.size() - 2); - } + string protocol, user; + parse_url(url, &protocol, &user, &host, &port, &path); // Don't care if it fails. pthread_mutex_init(&stats_mutex, NULL); stats.url = url; @@ -99,6 +94,7 @@ void HTTPInput::close_socket() { if (sock != -1) { safe_close(sock); + sock = -1; } MutexLock lock(&stats_mutex); @@ -344,8 +340,8 @@ void HTTPInput::do_work() } { - string protocol; // Thrown away. - if (!parse_url(url, &protocol, &host, &port, &path)) { + string protocol, user; // Thrown away. + if (!parse_url(url, &protocol, &user, &host, &port, &path)) { log(WARNING, "[%s] Failed to parse URL '%s'", url.c_str(), url.c_str()); break; }