| OLD | NEW |
| 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/flip_server/spdy_interface.h" | 5 #include "net/tools/flip_server/spdy_interface.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> |
| 9 | 10 |
| 10 #include "net/spdy/spdy_framer.h" | 11 #include "net/spdy/spdy_framer.h" |
| 11 #include "net/spdy/spdy_protocol.h" | 12 #include "net/spdy/spdy_protocol.h" |
| 12 #include "net/tools/flip_server/constants.h" | 13 #include "net/tools/flip_server/constants.h" |
| 13 #include "net/tools/flip_server/flip_config.h" | 14 #include "net/tools/flip_server/flip_config.h" |
| 14 #include "net/tools/flip_server/http_interface.h" | 15 #include "net/tools/flip_server/http_interface.h" |
| 15 #include "net/tools/flip_server/spdy_util.h" | 16 #include "net/tools/flip_server/spdy_util.h" |
| 16 #include "net/tools/flip_server/url_utilities.h" | 17 #include "net/tools/flip_server/url_utilities.h" |
| 17 | 18 |
| 18 namespace net { | 19 namespace net { |
| (...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 465 } else { | 466 } else { |
| 466 block[":path"] = headers.request_uri().as_string(); | 467 block[":path"] = headers.request_uri().as_string(); |
| 467 if (block.find("host") != block.end()) { | 468 if (block.find("host") != block.end()) { |
| 468 block[":host"] = headers.GetHeader("Host").as_string(); | 469 block[":host"] = headers.GetHeader("Host").as_string(); |
| 469 block.erase("host"); | 470 block.erase("host"); |
| 470 } | 471 } |
| 471 } | 472 } |
| 472 | 473 |
| 473 DCHECK(buffered_spdy_framer_); | 474 DCHECK(buffered_spdy_framer_); |
| 474 SpdySerializedFrame* fsrcf = buffered_spdy_framer_->CreateSynStream( | 475 SpdySerializedFrame* fsrcf = buffered_spdy_framer_->CreateSynStream( |
| 475 stream_id, 0, 0, CONTROL_FLAG_NONE, block); | 476 stream_id, 0, 0, CONTROL_FLAG_NONE, std::move(block)); |
| 476 size_t df_size = fsrcf->size(); | 477 size_t df_size = fsrcf->size(); |
| 477 EnqueueDataFrame(new SpdyFrameDataFrame(fsrcf)); | 478 EnqueueDataFrame(new SpdyFrameDataFrame(fsrcf)); |
| 478 | 479 |
| 479 VLOG(2) << ACCEPTOR_CLIENT_IDENT << "SpdySM: Sending SynStreamheader " | 480 VLOG(2) << ACCEPTOR_CLIENT_IDENT << "SpdySM: Sending SynStreamheader " |
| 480 << stream_id; | 481 << stream_id; |
| 481 return df_size; | 482 return df_size; |
| 482 } | 483 } |
| 483 | 484 |
| 484 size_t SpdySM::SendSynReplyImpl(uint32_t stream_id, | 485 size_t SpdySM::SendSynReplyImpl(uint32_t stream_id, |
| 485 const BalsaHeaders& headers) { | 486 const BalsaHeaders& headers) { |
| 486 SpdyHeaderBlock block; | 487 SpdyHeaderBlock block; |
| 487 CopyHeaders(block, headers); | 488 CopyHeaders(block, headers); |
| 488 block[":status"] = headers.response_code().as_string() + " " + | 489 block[":status"] = headers.response_code().as_string() + " " + |
| 489 headers.response_reason_phrase().as_string(); | 490 headers.response_reason_phrase().as_string(); |
| 490 block[":version"] = headers.response_version().as_string(); | 491 block[":version"] = headers.response_version().as_string(); |
| 491 | 492 |
| 492 DCHECK(buffered_spdy_framer_); | 493 DCHECK(buffered_spdy_framer_); |
| 493 SpdySerializedFrame* fsrcf = buffered_spdy_framer_->CreateSynReply( | 494 SpdySerializedFrame* fsrcf = buffered_spdy_framer_->CreateSynReply( |
| 494 stream_id, CONTROL_FLAG_NONE, block); | 495 stream_id, CONTROL_FLAG_NONE, std::move(block)); |
| 495 size_t df_size = fsrcf->size(); | 496 size_t df_size = fsrcf->size(); |
| 496 EnqueueDataFrame(new SpdyFrameDataFrame(fsrcf)); | 497 EnqueueDataFrame(new SpdyFrameDataFrame(fsrcf)); |
| 497 | 498 |
| 498 VLOG(2) << ACCEPTOR_CLIENT_IDENT << "SpdySM: Sending SynReplyheader " | 499 VLOG(2) << ACCEPTOR_CLIENT_IDENT << "SpdySM: Sending SynReplyheader " |
| 499 << stream_id; | 500 << stream_id; |
| 500 return df_size; | 501 return df_size; |
| 501 } | 502 } |
| 502 | 503 |
| 503 void SpdySM::SendDataFrameImpl(uint32_t stream_id, | 504 void SpdySM::SendDataFrameImpl(uint32_t stream_id, |
| 504 const char* data, | 505 const char* data, |
| (...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 606 } | 607 } |
| 607 } | 608 } |
| 608 | 609 |
| 609 void SpdySM::CreateFramer(SpdyMajorVersion spdy_version) { | 610 void SpdySM::CreateFramer(SpdyMajorVersion spdy_version) { |
| 610 DCHECK(!buffered_spdy_framer_); | 611 DCHECK(!buffered_spdy_framer_); |
| 611 buffered_spdy_framer_.reset(new BufferedSpdyFramer(spdy_version)); | 612 buffered_spdy_framer_.reset(new BufferedSpdyFramer(spdy_version)); |
| 612 buffered_spdy_framer_->set_visitor(this); | 613 buffered_spdy_framer_->set_visitor(this); |
| 613 } | 614 } |
| 614 | 615 |
| 615 } // namespace net | 616 } // namespace net |
| OLD | NEW |