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 "content/common/resource_request_body.h"
6
7namespace content {
8
9ResourceRequestBody::ResourceRequestBody()
10    : identifier_(0) {
11}
12
13void ResourceRequestBody::AppendBytes(const char* bytes, int bytes_len) {
14  if (bytes_len > 0) {
15    elements_.push_back(Element());
16    elements_.back().SetToBytes(bytes, bytes_len);
17  }
18}
19
20void ResourceRequestBody::AppendFileRange(
21    const base::FilePath& file_path,
22    uint64 offset, uint64 length,
23    const base::Time& expected_modification_time) {
24  elements_.push_back(Element());
25  elements_.back().SetToFilePathRange(file_path, offset, length,
26                                      expected_modification_time);
27}
28
29void ResourceRequestBody::AppendBlob(const std::string& uuid) {
30  elements_.push_back(Element());
31  elements_.back().SetToBlob(uuid);
32}
33
34void ResourceRequestBody::AppendFileSystemFileRange(
35    const GURL& url, uint64 offset, uint64 length,
36    const base::Time& expected_modification_time) {
37  elements_.push_back(Element());
38  elements_.back().SetToFileSystemUrlRange(url, offset, length,
39                                           expected_modification_time);
40}
41
42ResourceRequestBody::~ResourceRequestBody() {
43}
44
45}  // namespace content
46