Index: net/http/http_byte_range.cc |
diff --git a/net/http/http_byte_range.cc b/net/http/http_byte_range.cc |
deleted file mode 100644 |
index b43cb2e8008608c025ceb94355cb28d06b818ab7..0000000000000000000000000000000000000000 |
--- a/net/http/http_byte_range.cc |
+++ /dev/null |
@@ -1,117 +0,0 @@ |
-// Copyright (c) 2009 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 <algorithm> |
- |
-#include "base/format_macros.h" |
-#include "base/logging.h" |
-#include "base/strings/stringprintf.h" |
-#include "net/http/http_byte_range.h" |
- |
-namespace { |
- |
-const int64 kPositionNotSpecified = -1; |
- |
-} // namespace |
- |
-namespace net { |
- |
-HttpByteRange::HttpByteRange() |
- : first_byte_position_(kPositionNotSpecified), |
- last_byte_position_(kPositionNotSpecified), |
- suffix_length_(kPositionNotSpecified), |
- has_computed_bounds_(false) { |
-} |
- |
-// static |
-HttpByteRange HttpByteRange::Bounded(int64 first_byte_position, |
- int64 last_byte_position) { |
- HttpByteRange range; |
- range.set_first_byte_position(first_byte_position); |
- range.set_last_byte_position(last_byte_position); |
- return range; |
-} |
- |
-// static |
-HttpByteRange HttpByteRange::RightUnbounded(int64 first_byte_position) { |
- HttpByteRange range; |
- range.set_first_byte_position(first_byte_position); |
- return range; |
-} |
- |
-// static |
-HttpByteRange HttpByteRange::Suffix(int64 suffix_length) { |
- HttpByteRange range; |
- range.set_suffix_length(suffix_length); |
- return range; |
-} |
- |
-bool HttpByteRange::IsSuffixByteRange() const { |
- return suffix_length_ != kPositionNotSpecified; |
-} |
- |
-bool HttpByteRange::HasFirstBytePosition() const { |
- return first_byte_position_ != kPositionNotSpecified; |
-} |
- |
-bool HttpByteRange::HasLastBytePosition() const { |
- return last_byte_position_ != kPositionNotSpecified; |
-} |
- |
-bool HttpByteRange::IsValid() const { |
- if (suffix_length_ > 0) |
- return true; |
- return (first_byte_position_ >= 0 && |
- (last_byte_position_ == kPositionNotSpecified || |
- last_byte_position_ >= first_byte_position_)); |
-} |
- |
-std::string HttpByteRange::GetHeaderValue() const { |
- DCHECK(IsValid()); |
- |
- if (IsSuffixByteRange()) |
- return base::StringPrintf("bytes=-%" PRId64, suffix_length()); |
- |
- DCHECK(HasFirstBytePosition()); |
- |
- if (!HasLastBytePosition()) |
- return base::StringPrintf("bytes=%" PRId64 "-", first_byte_position()); |
- |
- return base::StringPrintf("bytes=%" PRId64 "-%" PRId64, |
- first_byte_position(), last_byte_position()); |
-} |
- |
-bool HttpByteRange::ComputeBounds(int64 size) { |
- if (size < 0) |
- return false; |
- if (has_computed_bounds_) |
- return false; |
- has_computed_bounds_ = true; |
- |
- // Empty values. |
- if (!HasFirstBytePosition() && |
- !HasLastBytePosition() && |
- !IsSuffixByteRange()) { |
- first_byte_position_ = 0; |
- last_byte_position_ = size - 1; |
- return true; |
- } |
- if (!IsValid()) |
- return false; |
- if (IsSuffixByteRange()) { |
- first_byte_position_ = size - std::min(size, suffix_length_); |
- last_byte_position_ = size - 1; |
- return true; |
- } |
- if (first_byte_position_ < size) { |
- if (HasLastBytePosition()) |
- last_byte_position_ = std::min(size - 1, last_byte_position_); |
- else |
- last_byte_position_ = size - 1; |
- return true; |
- } |
- return false; |
-} |
- |
-} // namespace net |