pub const Protocol = enum
fn port(protocol: Protocol) u16
pub fn fromScheme(scheme: []const u8) ?Protocol
pub fn fromUri(uri: Uri) ?Protocol
203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227
pub const Protocol = enum { plain, tls, fn port(protocol: Protocol) u16 { return switch (protocol) { .plain => 80, .tls => 443, }; } pub fn fromScheme(scheme: []const u8) ?Protocol { const protocol_map = std.StaticStringMap(Protocol).initComptime(.{ .{ "http", .plain }, .{ "ws", .plain }, .{ "https", .tls }, .{ "wss", .tls }, }); return protocol_map.get(scheme); } pub fn fromUri(uri: Uri) ?Protocol { return fromScheme(uri.scheme); } }