summaryrefslogtreecommitdiffstats
path: root/net/http/http_basic_stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/http/http_basic_stream.h')
-rw-r--r--net/http/http_basic_stream.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/net/http/http_basic_stream.h b/net/http/http_basic_stream.h
new file mode 100644
index 0000000..32f1b8a
--- /dev/null
+++ b/net/http/http_basic_stream.h
@@ -0,0 +1,44 @@
+// 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.
+//
+// HttpBasicStream is a simple implementation of HttpStream. It assumes it is
+// not sharing a sharing with any other HttpStreams, therefore it just reads and
+// writes directly to the Http Stream.
+
+#ifndef NET_HTTP_HTTP_BASIC_STREAM_H_
+#define NET_HTTP_HTTP_BASIC_STREAM_H_
+
+#include "base/basictypes.h"
+#include "net/base/client_socket_handle.h"
+#include "net/http/http_stream.h"
+
+namespace net {
+
+class HttpBasicStream : public HttpStream {
+ public:
+ explicit HttpBasicStream(ClientSocketHandle* handle) : handle_(handle) {}
+ virtual ~HttpBasicStream() {}
+
+ // HttpStream methods:
+ virtual int Read(IOBuffer* buf,
+ int buf_len,
+ CompletionCallback* callback) {
+ return handle_->socket()->Read(buf, buf_len, callback);
+ }
+
+ virtual int Write(IOBuffer* buf,
+ int buf_len,
+ CompletionCallback* callback) {
+ return handle_->socket()->Write(buf, buf_len, callback);
+ }
+
+ private:
+ ClientSocketHandle* const handle_;
+
+ DISALLOW_COPY_AND_ASSIGN(HttpBasicStream);
+};
+
+} // namespace net
+
+#endif // NET_HTTP_HTTP_BASIC_STREAM_H_