Index: net/tools/quic/quic_spdy_server_stream.cc |
diff --git a/net/tools/quic/quic_spdy_server_stream.cc b/net/tools/quic/quic_spdy_server_stream.cc |
index cf85933c6d124ee5b1d627ee0900f1f3b8c73cee..5937d6d6253a50e3024fb81d20e5f3fa1f06309e 100644 |
--- a/net/tools/quic/quic_spdy_server_stream.cc |
+++ b/net/tools/quic/quic_spdy_server_stream.cc |
@@ -9,6 +9,7 @@ |
#include "net/spdy/spdy_framer.h" |
#include "net/tools/quic/quic_in_memory_cache.h" |
#include "net/tools/quic/spdy_utils.h" |
+#include "url/gurl.h" |
using base::StringPiece; |
using std::string; |
@@ -90,8 +91,15 @@ void QuicSpdyServerStream::ParseRequestHeaders() { |
void QuicSpdyServerStream::SendResponse() { |
// Find response in cache. If not found, send error response. |
+ GURL url(headers_.request_uri().as_string()); |
+ if (!url.is_valid()) { |
+ SendErrorResponse(); |
+ return; |
+ } |
const QuicInMemoryCache::Response* response = |
- QuicInMemoryCache::GetInstance()->GetResponse(headers_); |
+ QuicInMemoryCache::GetInstance()->GetResponse( |
+ url.host(), |
+ url.PathForRequest()); |
if (response == nullptr) { |
SendErrorResponse(); |
return; |