Chromium Code Reviews| Index: net/spdy/spdy_http_stream.cc |
| =================================================================== |
| --- net/spdy/spdy_http_stream.cc (revision 53864) |
| +++ net/spdy/spdy_http_stream.cc (working copy) |
| @@ -129,10 +129,10 @@ |
| namespace net { |
| -SpdyHttpStream::SpdyHttpStream() |
| +SpdyHttpStream::SpdyHttpStream(SpdySession* spdy_session) |
| : ALLOW_THIS_IN_INITIALIZER_LIST(read_callback_factory_(this)), |
| stream_(NULL), |
| - spdy_session_(NULL), |
| + spdy_session_(spdy_session), |
| response_info_(NULL), |
| download_finished_(false), |
| user_callback_(NULL), |
| @@ -145,15 +145,12 @@ |
| stream_->DetachDelegate(); |
| } |
| -int SpdyHttpStream::InitializeStream( |
| - SpdySession* spdy_session, |
| - const HttpRequestInfo& request_info, |
| - const BoundNetLog& stream_net_log, |
| - CompletionCallback* callback) { |
| - spdy_session_ = spdy_session; |
| +int SpdyHttpStream::InitializeStream(const HttpRequestInfo* request_info, |
| + const BoundNetLog& stream_net_log, |
| + CompletionCallback* callback) { |
| request_info_ = request_info; |
| - if (request_info_.method == "GET") { |
| - int error = spdy_session_->GetPushStream(request_info.url, &stream_, |
| + if (request_info_->method == "GET") { |
| + int error = spdy_session_->GetPushStream(request_info_->url, &stream_, |
| stream_net_log); |
| if (error != OK) |
| return error; |
| @@ -162,36 +159,11 @@ |
| if (stream_.get()) |
| return OK; |
| else |
| - return spdy_session_->CreateStream(request_info_.url, |
| - request_info_.priority, &stream_, |
| + return spdy_session_->CreateStream(request_info_->url, |
| + request_info_->priority, &stream_, |
| stream_net_log, callback); |
| } |
| -void SpdyHttpStream::InitializeRequest( |
| - base::Time request_time, |
| - UploadDataStream* upload_data) { |
| - CHECK(stream_.get()); |
| - stream_->SetDelegate(this); |
| - linked_ptr<spdy::SpdyHeaderBlock> headers(new spdy::SpdyHeaderBlock); |
| - CreateSpdyHeadersFromHttpRequest(request_info_, headers.get()); |
| - stream_->set_spdy_headers(headers); |
| - |
| - stream_->SetRequestTime(request_time); |
| - // This should only get called in the case of a request occuring |
| - // during server push that has already begun but hasn't finished, |
| - // so we set the response's request time to be the actual one |
| - if (response_info_) |
| - response_info_->request_time = request_time; |
| - |
| - CHECK(!request_body_stream_.get()); |
| - if (upload_data) { |
| - if (upload_data->size()) |
| - request_body_stream_.reset(upload_data); |
| - else |
| - delete upload_data; |
| - } |
| -} |
| - |
| const HttpResponseInfo* SpdyHttpStream::GetResponseInfo() const { |
| return response_info_; |
| } |
| @@ -262,8 +234,33 @@ |
| return ERR_IO_PENDING; |
| } |
| -int SpdyHttpStream::SendRequest(HttpResponseInfo* response, |
| +int SpdyHttpStream::SendRequest(const std::string& /*headers_string*/, |
|
vandebo (ex-Chrome)
2010/07/28 23:30:39
My mistake, it's in the headers that we comment it
|
| + UploadDataStream* request_body, |
| + HttpResponseInfo* response, |
| CompletionCallback* callback) { |
| + base::Time request_time = base::Time::Now(); |
| + CHECK(stream_.get()); |
| + |
| + stream_->SetDelegate(this); |
| + linked_ptr<spdy::SpdyHeaderBlock> headers(new spdy::SpdyHeaderBlock); |
| + CreateSpdyHeadersFromHttpRequest(*request_info_, headers.get()); |
| + stream_->set_spdy_headers(headers); |
| + |
| + stream_->SetRequestTime(request_time); |
| + // This should only get called in the case of a request occurring |
| + // during server push that has already begun but hasn't finished, |
| + // so we set the response's request time to be the actual one |
| + if (response_info_) |
| + response_info_->request_time = request_time; |
| + |
| + CHECK(!request_body_stream_.get()); |
| + if (request_body) { |
| + if (request_body->size()) |
| + request_body_stream_.reset(request_body); |
| + else |
| + delete request_body; |
| + } |
| + |
| CHECK(callback); |
| CHECK(!stream_->cancelled()); |
| CHECK(response); |
| @@ -343,7 +340,7 @@ |
| stream_->GetSSLInfo(&response_info_->ssl_info, |
| &response_info_->was_npn_negotiated); |
| response_info_->request_time = stream_->GetRequestTime(); |
| - response_info_->vary_data.Init(request_info_, *response_info_->headers); |
| + response_info_->vary_data.Init(*request_info_, *response_info_->headers); |
| // TODO(ahendrickson): This is recorded after the entire SYN_STREAM control |
| // frame has been received and processed. Move to framer? |
| response_info_->response_time = response_time; |