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

Side by Side Diff: net/tools/quic/quic_simple_server_stream.cc

Issue 2740453006: Add QuicStringPiece which is actually StringPiece. (Closed)
Patch Set: fix compile error and rebase Created 3 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "net/tools/quic/quic_simple_server_stream.h" 5 #include "net/tools/quic/quic_simple_server_stream.h"
6 6
7 #include <list> 7 #include <list>
8 #include <utility> 8 #include <utility>
9 9
10 #include "net/quic/core/quic_flags.h" 10 #include "net/quic/core/quic_flags.h"
11 #include "net/quic/core/quic_spdy_stream.h" 11 #include "net/quic/core/quic_spdy_stream.h"
12 #include "net/quic/core/spdy_utils.h" 12 #include "net/quic/core/spdy_utils.h"
13 #include "net/quic/platform/api/quic_bug_tracker.h" 13 #include "net/quic/platform/api/quic_bug_tracker.h"
14 #include "net/quic/platform/api/quic_logging.h" 14 #include "net/quic/platform/api/quic_logging.h"
15 #include "net/quic/platform/api/quic_map_util.h" 15 #include "net/quic/platform/api/quic_map_util.h"
16 #include "net/quic/platform/api/quic_text_utils.h" 16 #include "net/quic/platform/api/quic_text_utils.h"
17 #include "net/spdy/spdy_protocol.h" 17 #include "net/spdy/spdy_protocol.h"
18 #include "net/tools/quic/quic_http_response_cache.h" 18 #include "net/tools/quic/quic_http_response_cache.h"
19 #include "net/tools/quic/quic_simple_server_session.h" 19 #include "net/tools/quic/quic_simple_server_session.h"
20 20
21 using base::StringPiece;
22 using std::string; 21 using std::string;
23 22
24 namespace net { 23 namespace net {
25 24
26 QuicSimpleServerStream::QuicSimpleServerStream( 25 QuicSimpleServerStream::QuicSimpleServerStream(
27 QuicStreamId id, 26 QuicStreamId id,
28 QuicSpdySession* session, 27 QuicSpdySession* session,
29 QuicHttpResponseCache* response_cache) 28 QuicHttpResponseCache* response_cache)
30 : QuicSpdyServerStreamBase(id, session), 29 : QuicSpdyServerStreamBase(id, session),
31 content_length_(-1), 30 content_length_(-1),
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 QUIC_DVLOG(1) << "Stream " << id() << " sending error response."; 215 QUIC_DVLOG(1) << "Stream " << id() << " sending error response.";
217 SpdyHeaderBlock headers; 216 SpdyHeaderBlock headers;
218 headers[":status"] = "500"; 217 headers[":status"] = "500";
219 headers["content-length"] = 218 headers["content-length"] =
220 QuicTextUtils::Uint64ToString(strlen(kErrorResponseBody)); 219 QuicTextUtils::Uint64ToString(strlen(kErrorResponseBody));
221 SendHeadersAndBody(std::move(headers), kErrorResponseBody); 220 SendHeadersAndBody(std::move(headers), kErrorResponseBody);
222 } 221 }
223 222
224 void QuicSimpleServerStream::SendHeadersAndBody( 223 void QuicSimpleServerStream::SendHeadersAndBody(
225 SpdyHeaderBlock response_headers, 224 SpdyHeaderBlock response_headers,
226 StringPiece body) { 225 QuicStringPiece body) {
227 SendHeadersAndBodyAndTrailers(std::move(response_headers), body, 226 SendHeadersAndBodyAndTrailers(std::move(response_headers), body,
228 SpdyHeaderBlock()); 227 SpdyHeaderBlock());
229 } 228 }
230 229
231 void QuicSimpleServerStream::SendHeadersAndBodyAndTrailers( 230 void QuicSimpleServerStream::SendHeadersAndBodyAndTrailers(
232 SpdyHeaderBlock response_headers, 231 SpdyHeaderBlock response_headers,
233 StringPiece body, 232 QuicStringPiece body,
234 SpdyHeaderBlock response_trailers) { 233 SpdyHeaderBlock response_trailers) {
235 if (!allow_bidirectional_data() && !reading_stopped()) { 234 if (!allow_bidirectional_data() && !reading_stopped()) {
236 StopReading(); 235 StopReading();
237 } 236 }
238 237
239 // Send the headers, with a FIN if there's nothing else to send. 238 // Send the headers, with a FIN if there's nothing else to send.
240 bool send_fin = (body.empty() && response_trailers.empty()); 239 bool send_fin = (body.empty() && response_trailers.empty());
241 QUIC_DLOG(INFO) << "Stream " << id() << " writing headers (fin = " << send_fin 240 QUIC_DLOG(INFO) << "Stream " << id() << " writing headers (fin = " << send_fin
242 << ") : " << response_headers.DebugString(); 241 << ") : " << response_headers.DebugString();
243 WriteHeaders(std::move(response_headers), send_fin, nullptr); 242 WriteHeaders(std::move(response_headers), send_fin, nullptr);
(...skipping 18 matching lines...) Expand all
262 QUIC_DLOG(INFO) << "Stream " << id() << " writing trailers (fin = true): " 261 QUIC_DLOG(INFO) << "Stream " << id() << " writing trailers (fin = true): "
263 << response_trailers.DebugString(); 262 << response_trailers.DebugString();
264 WriteTrailers(std::move(response_trailers), nullptr); 263 WriteTrailers(std::move(response_trailers), nullptr);
265 } 264 }
266 265
267 const char* const QuicSimpleServerStream::kErrorResponseBody = "bad"; 266 const char* const QuicSimpleServerStream::kErrorResponseBody = "bad";
268 const char* const QuicSimpleServerStream::kNotFoundResponseBody = 267 const char* const QuicSimpleServerStream::kNotFoundResponseBody =
269 "file not found"; 268 "file not found";
270 269
271 } // namespace net 270 } // namespace net
OLDNEW
« no previous file with comments | « net/tools/quic/quic_simple_server_stream.h ('k') | net/tools/quic/quic_simple_server_stream_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698