35 lines
889 B
Go
35 lines
889 B
Go
// SPDX-FileCopyrightText: 2022-2023 nervuri <https://nervuri.net/contact>
|
|
//
|
|
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
package clienthello
|
|
|
|
// https://www.rfc-editor.org/rfc/rfc3749#section-2
|
|
var CompressionMethodList = map[uint8]CompressionMethodInfo{
|
|
0: {Code: 0, Name: "null"},
|
|
1: {Code: 1, Name: "DEFLATE"},
|
|
}
|
|
|
|
type CompressionMethod any // (uint8 | CompressionMethodInfo)
|
|
|
|
type CompressionMethodInfo struct {
|
|
Code uint8 `json:"code"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
func GetCompressionMethodInfo(compressionMethodCode uint8) CompressionMethodInfo {
|
|
info, found := CompressionMethodList[compressionMethodCode]
|
|
if !found {
|
|
info = CompressionMethodInfo{
|
|
Code: compressionMethodCode,
|
|
}
|
|
}
|
|
return info
|
|
}
|
|
|
|
func (m *ClientHelloMsg) AddCompressionMethodInfo() {
|
|
for i, code := range m.CompressionMethods {
|
|
m.CompressionMethods[i] = GetCompressionMethodInfo(code.(uint8))
|
|
}
|
|
}
|