Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3102)

Unified Diff: net/ftp/ftp_ctrl_response_buffer.cc

Issue 992733002: Remove //net (except for Android test stuff) and sdch (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « net/ftp/ftp_ctrl_response_buffer.h ('k') | net/ftp/ftp_ctrl_response_buffer_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/ftp/ftp_ctrl_response_buffer.cc
diff --git a/net/ftp/ftp_ctrl_response_buffer.cc b/net/ftp/ftp_ctrl_response_buffer.cc
deleted file mode 100644
index f7b14678095a7ecfa9bea48b832b79dd98cd498f..0000000000000000000000000000000000000000
--- a/net/ftp/ftp_ctrl_response_buffer.cc
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright (c) 2011 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/ftp/ftp_ctrl_response_buffer.h"
-
-#include "base/bind.h"
-#include "base/logging.h"
-#include "base/strings/string_number_conversions.h"
-#include "base/strings/string_piece.h"
-#include "base/values.h"
-#include "net/base/net_errors.h"
-
-namespace net {
-
-// static
-const int FtpCtrlResponse::kInvalidStatusCode = -1;
-
-FtpCtrlResponse::FtpCtrlResponse() : status_code(kInvalidStatusCode) {}
-
-FtpCtrlResponse::~FtpCtrlResponse() {}
-
-FtpCtrlResponseBuffer::FtpCtrlResponseBuffer(const BoundNetLog& net_log)
- : multiline_(false),
- net_log_(net_log) {
-}
-
-FtpCtrlResponseBuffer::~FtpCtrlResponseBuffer() {}
-
-int FtpCtrlResponseBuffer::ConsumeData(const char* data, int data_length) {
- buffer_.append(data, data_length);
- ExtractFullLinesFromBuffer();
-
- while (!lines_.empty()) {
- ParsedLine line = lines_.front();
- lines_.pop();
-
- if (multiline_) {
- if (!line.is_complete || line.status_code != response_buf_.status_code) {
- line_buf_.append(line.raw_text);
- continue;
- }
-
- response_buf_.lines.push_back(line_buf_);
-
- line_buf_ = line.status_text;
- DCHECK_EQ(line.status_code, response_buf_.status_code);
-
- if (!line.is_multiline) {
- response_buf_.lines.push_back(line_buf_);
- responses_.push(response_buf_);
-
- // Prepare to handle following lines.
- response_buf_ = FtpCtrlResponse();
- line_buf_.clear();
- multiline_ = false;
- }
- } else {
- if (!line.is_complete)
- return ERR_INVALID_RESPONSE;
-
- response_buf_.status_code = line.status_code;
- if (line.is_multiline) {
- line_buf_ = line.status_text;
- multiline_ = true;
- } else {
- response_buf_.lines.push_back(line.status_text);
- responses_.push(response_buf_);
-
- // Prepare to handle following lines.
- response_buf_ = FtpCtrlResponse();
- line_buf_.clear();
- }
- }
- }
-
- return OK;
-}
-
-namespace {
-
-base::Value* NetLogFtpCtrlResponseCallback(const FtpCtrlResponse* response,
- NetLog::LogLevel log_level) {
- base::ListValue* lines = new base::ListValue();
- lines->AppendStrings(response->lines);
-
- base::DictionaryValue* dict = new base::DictionaryValue();
- dict->SetInteger("status_code", response->status_code);
- dict->Set("lines", lines);
- return dict;
-}
-
-} // namespace
-
-FtpCtrlResponse FtpCtrlResponseBuffer::PopResponse() {
- FtpCtrlResponse result = responses_.front();
- responses_.pop();
-
- net_log_.AddEvent(NetLog::TYPE_FTP_CONTROL_RESPONSE,
- base::Bind(&NetLogFtpCtrlResponseCallback, &result));
-
- return result;
-}
-
-FtpCtrlResponseBuffer::ParsedLine::ParsedLine()
- : has_status_code(false),
- is_multiline(false),
- is_complete(false),
- status_code(FtpCtrlResponse::kInvalidStatusCode) {
-}
-
-// static
-FtpCtrlResponseBuffer::ParsedLine FtpCtrlResponseBuffer::ParseLine(
- const std::string& line) {
- ParsedLine result;
-
- if (line.length() >= 3) {
- if (base::StringToInt(base::StringPiece(line.begin(), line.begin() + 3),
- &result.status_code))
- result.has_status_code = (100 <= result.status_code &&
- result.status_code <= 599);
- if (result.has_status_code && line.length() >= 4 && line[3] == ' ') {
- result.is_complete = true;
- } else if (result.has_status_code && line.length() >= 4 && line[3] == '-') {
- result.is_complete = true;
- result.is_multiline = true;
- }
- }
-
- if (result.is_complete) {
- result.status_text = line.substr(4);
- } else {
- result.status_text = line;
- }
-
- result.raw_text = line;
-
- return result;
-}
-
-void FtpCtrlResponseBuffer::ExtractFullLinesFromBuffer() {
- int cut_pos = 0;
- for (size_t i = 0; i < buffer_.length(); i++) {
- if (i >= 1 && buffer_[i - 1] == '\r' && buffer_[i] == '\n') {
- lines_.push(ParseLine(buffer_.substr(cut_pos, i - cut_pos - 1)));
- cut_pos = i + 1;
- }
- }
- buffer_.erase(0, cut_pos);
-}
-
-} // namespace net
« no previous file with comments | « net/ftp/ftp_ctrl_response_buffer.h ('k') | net/ftp/ftp_ctrl_response_buffer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698