http-type 18.4.1

A comprehensive Rust type library for HTTP operations and concurrent programming. Provides core HTTP types (Request/Response with builder patterns, Method, HttpStatus, HttpVersion, ContentType, FileExtension with MIME mapping, Cookie parsing/building, HttpUrl parsing, WebSocket frame/opcode, protocol upgrade types, stream/task management, panic handling), thread-safe concurrent wrappers (ArcMutex, ArcRwLock, BoxRwLock, RcRwLock), dynamic dispatch types (BoxAny, RcAny, ArcAny with Send/Sync variants), high-performance hash collections (HashMapXxHash3_64, HashSetXxHash3_64), and static lifetime utilities (BoxLeak, Lifetime trait).
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use crate::*;

/// Represents different upgrade types.
#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
pub enum UpgradeType {
    /// Represents an upgrade to the WebSocket protocol.
    WebSocket,
    /// Represents an upgrade to HTTP/2 cleartext (h2c).
    H2c,
    /// Represents a TLS upgrade, which is rare and experimental. It includes the specific TLS protocol string.
    Tls(String),
    /// Represents other custom or unknown upgrade protocols, including the protocol string.
    Unknown(String),
}