1 // Copyright 2014 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "net/url_request/url_range_request_job.h" 6 7 #include "net/base/net_errors.h" 8 #include "net/http/http_request_headers.h" 9 #include "net/http/http_util.h" 10 11 namespace net { 12 URLRangeRequestJob(URLRequest * request,NetworkDelegate * delegate)13URLRangeRequestJob::URLRangeRequestJob(URLRequest* request, 14 NetworkDelegate* delegate) 15 : URLRequestJob(request, delegate), range_parse_result_(OK) { 16 } 17 ~URLRangeRequestJob()18URLRangeRequestJob::~URLRangeRequestJob() { 19 } 20 SetExtraRequestHeaders(const HttpRequestHeaders & headers)21void URLRangeRequestJob::SetExtraRequestHeaders( 22 const HttpRequestHeaders& headers) { 23 std::string range_header; 24 if (headers.GetHeader(HttpRequestHeaders::kRange, &range_header)) { 25 if (!HttpUtil::ParseRangeHeader(range_header, &ranges_)) { 26 range_parse_result_ = ERR_REQUEST_RANGE_NOT_SATISFIABLE; 27 } 28 } 29 } 30 31 } // namespace net 32