From f84d2253b2250ed5760398c189bfc8bf8dff1f69 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 4 Nov 2011 22:27:58 +0900 Subject: Rewritten util::split and added its iterator version. Iterator based functions util::startsWith, util::endsWith, util::streq, util::strieq were added. --- src/HttpHeaderProcessor.cc | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src/HttpHeaderProcessor.cc') diff --git a/src/HttpHeaderProcessor.cc b/src/HttpHeaderProcessor.cc index 6cfce918..d196f6be 100644 --- a/src/HttpHeaderProcessor.cc +++ b/src/HttpHeaderProcessor.cc @@ -139,16 +139,17 @@ SharedHandle HttpHeaderProcessor::getHttpRequestHeader() delimpos < 14) { throw DL_RETRY_EX(EX_NO_STATUS_HEADER); } - std::vector firstLine; - util::split(buf_.substr(0, delimpos), std::back_inserter(firstLine)," ",true); + std::vector firstLine; + util::splitIter(buf_.begin(), buf_.begin()+delimpos, + std::back_inserter(firstLine), ' ', true); if(firstLine.size() != 3) { throw DL_ABORT_EX2("Malformed HTTP request header.", error_code::HTTP_PROTOCOL_ERROR); } SharedHandle httpHeader(new HttpHeader()); - httpHeader->setMethod(firstLine[0]); - httpHeader->setRequestPath(firstLine[1]); - httpHeader->setVersion(firstLine[2]); + httpHeader->setMethod(firstLine[0].first, firstLine[0].second); + httpHeader->setRequestPath(firstLine[1].first, firstLine[1].second); + httpHeader->setVersion(firstLine[2].first, firstLine[2].second); if((delimpos = buf_.find("\r\n\r\n")) == std::string::npos && (delimpos = buf_.find("\n\n")) == std::string::npos) { delimpos = buf_.size(); -- cgit