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.
5 #include "net/url_request/url_range_request_job.h"
7 #include "net/base/net_errors.h"
8 #include "net/http/http_request_headers.h"
9 #include "net/http/http_util.h"
13 URLRangeRequestJob::URLRangeRequestJob(URLRequest
* request
,
14 NetworkDelegate
* delegate
)
15 : URLRequestJob(request
, delegate
), range_parse_result_(OK
) {
18 URLRangeRequestJob::~URLRangeRequestJob() {
21 void 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
;