// Copyright 2025 International Digital Economy Academy
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
///|
fn CloseCode::write_show(self : CloseCode, logger : &Logger) -> Unit {
match self {
Normal => logger <+ "Normal"
GoingAway => logger <+ "GoingAway"
ProtocolError => logger <+ "ProtocolError"
UnsupportedData => logger <+ "UnsupportedData"
Abnormal => logger <+ "Abnormal"
InvalidFramePayload => logger <+ "InvalidFramePayload"
PolicyViolation => logger <+ "PolicyViolation"
MessageTooBig => logger <+ "MessageTooBig"
MissingExtension => logger <+ "MissingExtension"
InternalError => logger <+ "InternalError"
Other(code) => logger <+ "Other(\{code})"
}
}
///|
#deprecated("`Show` implementation for this type is deprecated, use `Debug` related API, or use `@debug.to_string` instead.")
pub impl Show for MessageKind
///|
pub impl Show for MessageKind with fn output(self, logger) {
match self {
Binary => logger <+ "Binary"
Text => logger <+ "Text"
}
}
///|
#deprecated("`Show` implementation for this type is deprecated, use `Debug` related API, or use `@debug.to_string` instead.")
pub impl Show for CloseCode
///|
pub impl Show for CloseCode with fn output(self, logger) {
self.write_show(logger)
}
///|
#deprecated("`Show` implementation for this type is deprecated, use `Debug` related API, or use `@debug.to_string` instead.")
pub impl Show for WebSocketError
///|
#warnings("-deprecated")
pub impl Show for WebSocketError with fn output(self, logger) {
match self {
ConnectionClosed(close_code, msg) =>
logger <+ "ConnectionClosed(\{close_code}, \{msg})"
InvalidHandshake(msg) => logger <+ "InvalidHandshake(\{msg})"
HandshakeRejected(msg, response) =>
logger <+
"HandshakeRejected(\{msg}, \{response.code}, \{to_repr(response.reason)})"
ProtocolError(msg) => logger <+ "ProtocolError(\{msg})"
}
}