| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "net/url_request/url_range_request_job.h" |
| |
| #include "net/base/net_errors.h" |
| #include "net/http/http_request_headers.h" |
| #include "net/http/http_util.h" |
| |
| namespace net { |
| |
| URLRangeRequestJob::URLRangeRequestJob(URLRequest* request, |
| NetworkDelegate* delegate) |
| : URLRequestJob(request, delegate), range_parse_result_(OK) { |
| } |
| |
| URLRangeRequestJob::~URLRangeRequestJob() = default; |
| |
| void URLRangeRequestJob::SetExtraRequestHeaders( |
| const HttpRequestHeaders& headers) { |
| std::string range_header; |
| if (headers.GetHeader(HttpRequestHeaders::kRange, &range_header)) { |
| if (!HttpUtil::ParseRangeHeader(range_header, &ranges_)) { |
| range_parse_result_ = ERR_REQUEST_RANGE_NOT_SATISFIABLE; |
| } |
| } |
| } |
| |
| } // namespace net |