| 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/http/http_response_info.h" | 5 #include "net/http/http_response_info.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/pickle.h" | 8 #include "base/pickle.h" |
| 9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
| 10 #include "net/base/auth.h" | 10 #include "net/base/auth.h" |
| (...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 413 if (was_alpn_negotiated) | 413 if (was_alpn_negotiated) |
| 414 pickle->WriteString(alpn_negotiated_protocol); | 414 pickle->WriteString(alpn_negotiated_protocol); |
| 415 | 415 |
| 416 if (connection_info != CONNECTION_INFO_UNKNOWN) | 416 if (connection_info != CONNECTION_INFO_UNKNOWN) |
| 417 pickle->WriteInt(static_cast<int>(connection_info)); | 417 pickle->WriteInt(static_cast<int>(connection_info)); |
| 418 | 418 |
| 419 if (ssl_info.is_valid() && ssl_info.key_exchange_group != 0) | 419 if (ssl_info.is_valid() && ssl_info.key_exchange_group != 0) |
| 420 pickle->WriteInt(ssl_info.key_exchange_group); | 420 pickle->WriteInt(ssl_info.key_exchange_group); |
| 421 } | 421 } |
| 422 | 422 |
| 423 bool HttpResponseInfo::DidUseQuic() const { |
| 424 switch (connection_info) { |
| 425 case CONNECTION_INFO_UNKNOWN: |
| 426 case CONNECTION_INFO_HTTP1_1: |
| 427 case CONNECTION_INFO_DEPRECATED_SPDY2: |
| 428 case CONNECTION_INFO_DEPRECATED_SPDY3: |
| 429 case CONNECTION_INFO_HTTP2: |
| 430 case CONNECTION_INFO_DEPRECATED_HTTP2_14: |
| 431 case CONNECTION_INFO_DEPRECATED_HTTP2_15: |
| 432 case CONNECTION_INFO_HTTP0_9: |
| 433 case CONNECTION_INFO_HTTP1_0: |
| 434 return false; |
| 435 case CONNECTION_INFO_QUIC_UNKNOWN_VERSION: |
| 436 case CONNECTION_INFO_QUIC_32: |
| 437 case CONNECTION_INFO_QUIC_33: |
| 438 case CONNECTION_INFO_QUIC_34: |
| 439 case CONNECTION_INFO_QUIC_35: |
| 440 case CONNECTION_INFO_QUIC_36: |
| 441 return true; |
| 442 case NUM_OF_CONNECTION_INFOS: |
| 443 NOTREACHED(); |
| 444 return false; |
| 445 } |
| 446 NOTREACHED(); |
| 447 return false; |
| 448 } |
| 449 |
| 423 // static | 450 // static |
| 424 std::string HttpResponseInfo::ConnectionInfoToString( | 451 std::string HttpResponseInfo::ConnectionInfoToString( |
| 425 ConnectionInfo connection_info) { | 452 ConnectionInfo connection_info) { |
| 426 switch (connection_info) { | 453 switch (connection_info) { |
| 427 case CONNECTION_INFO_UNKNOWN: | 454 case CONNECTION_INFO_UNKNOWN: |
| 428 return "unknown"; | 455 return "unknown"; |
| 429 case CONNECTION_INFO_HTTP1_1: | 456 case CONNECTION_INFO_HTTP1_1: |
| 430 return "http/1.1"; | 457 return "http/1.1"; |
| 431 case CONNECTION_INFO_DEPRECATED_SPDY2: | 458 case CONNECTION_INFO_DEPRECATED_SPDY2: |
| 432 NOTREACHED(); | 459 NOTREACHED(); |
| 433 return ""; | 460 return ""; |
| 434 case CONNECTION_INFO_DEPRECATED_SPDY3: | 461 case CONNECTION_INFO_DEPRECATED_SPDY3: |
| 435 return "spdy/3"; | 462 return "spdy/3"; |
| 436 // Since ConnectionInfo is persisted to disk, deprecated values have to be | 463 // Since ConnectionInfo is persisted to disk, deprecated values have to be |
| 437 // handled. Note that h2-14 and h2-15 are essentially wire compatible with | 464 // handled. Note that h2-14 and h2-15 are essentially wire compatible with |
| 438 // h2. | 465 // h2. |
| 439 // Intentional fallthrough. | 466 // Intentional fallthrough. |
| 440 case CONNECTION_INFO_DEPRECATED_HTTP2_14: | 467 case CONNECTION_INFO_DEPRECATED_HTTP2_14: |
| 441 case CONNECTION_INFO_DEPRECATED_HTTP2_15: | 468 case CONNECTION_INFO_DEPRECATED_HTTP2_15: |
| 442 case CONNECTION_INFO_HTTP2: | 469 case CONNECTION_INFO_HTTP2: |
| 443 return "h2"; | 470 return "h2"; |
| 444 case CONNECTION_INFO_QUIC: | 471 case CONNECTION_INFO_QUIC_UNKNOWN_VERSION: |
| 445 return "quic/1+spdy/3"; | 472 return "http/2+quic"; |
| 473 case CONNECTION_INFO_QUIC_32: |
| 474 return "http/2+quic/32"; |
| 475 case CONNECTION_INFO_QUIC_33: |
| 476 return "http/2+quic/33"; |
| 477 case CONNECTION_INFO_QUIC_34: |
| 478 return "http/2+quic/34"; |
| 479 case CONNECTION_INFO_QUIC_35: |
| 480 return "http/2+quic/35"; |
| 481 case CONNECTION_INFO_QUIC_36: |
| 482 return "http/2+quic/36"; |
| 446 case CONNECTION_INFO_HTTP0_9: | 483 case CONNECTION_INFO_HTTP0_9: |
| 447 return "http/0.9"; | 484 return "http/0.9"; |
| 448 case CONNECTION_INFO_HTTP1_0: | 485 case CONNECTION_INFO_HTTP1_0: |
| 449 return "http/1.0"; | 486 return "http/1.0"; |
| 450 case NUM_OF_CONNECTION_INFOS: | 487 case NUM_OF_CONNECTION_INFOS: |
| 451 break; | 488 break; |
| 452 } | 489 } |
| 453 NOTREACHED(); | 490 NOTREACHED(); |
| 454 return ""; | 491 return ""; |
| 455 } | 492 } |
| 456 | 493 |
| 457 } // namespace net | 494 } // namespace net |
| OLD | NEW |