Parse the path component of the indication on the server. gfe-relnote: n/a (not used in production) PiperOrigin-RevId: 284179158 Change-Id: I5246996a99e93e5863502b0dbc950945cf1e6c25
diff --git a/quic/quic_transport/quic_transport_server_session.h b/quic/quic_transport/quic_transport_server_session.h index b3fcfa0..8b0c063 100644 --- a/quic/quic_transport/quic_transport_server_session.h +++ b/quic/quic_transport/quic_transport_server_session.h
@@ -5,6 +5,7 @@ #ifndef QUICHE_QUIC_QUIC_TRANSPORT_QUIC_TRANSPORT_SERVER_SESSION_H_ #define QUICHE_QUIC_QUIC_TRANSPORT_QUIC_TRANSPORT_SERVER_SESSION_H_ +#include "url/gurl.h" #include "url/origin.h" #include "net/third_party/quiche/src/quic/core/quic_connection.h" #include "net/third_party/quiche/src/quic/core/quic_crypto_server_stream.h" @@ -25,7 +26,14 @@ public: virtual ~ServerVisitor() {} + // Allows the server to decide whether the specified origin is allowed to + // connect to it. virtual bool CheckOrigin(url::Origin origin) = 0; + + // Indicates that the server received a path parameter from the client. The + // path parameter is parsed, and can be retrived from url.path() and + // url.query(). If this method returns false, the connection is closed. + virtual bool ProcessPath(const GURL& url) = 0; }; QuicTransportServerSession(QuicConnection* connection, @@ -90,6 +98,9 @@ void Error(const std::string& error_message); void ParseError(QuicStringPiece error_message); + // Processes the path portion of the client indication. + bool ProcessPath(QuicStringPiece path); + QuicTransportServerSession* session_; QuicDataReader reader_; };