• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)13 URLRangeRequestJob::URLRangeRequestJob(URLRequest* request,
14     NetworkDelegate* delegate)
15     : URLRequestJob(request, delegate), range_parse_result_(OK) {
16 }
17 
~URLRangeRequestJob()18 URLRangeRequestJob::~URLRangeRequestJob() {
19 }
20 
SetExtraRequestHeaders(const HttpRequestHeaders & headers)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;
27     }
28   }
29 }
30 
31 }  // namespace net
32