| // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| |
| /// Status codes that are defined in the WebSocket spec. |
| /// |
| /// This library is intended to be imported with a prefix. |
| /// |
| /// ```dart |
| /// import 'package:web_socket_channel/io.dart'; |
| /// import 'package:web_socket_channel/status.dart' as status; |
| /// |
| /// main() async { |
| /// var channel = await IOWebSocketChannel.connect("ws://localhost:1234"); |
| /// // ... |
| /// channel.close(status.goingAway); |
| /// } |
| /// ``` |
| library web_socket_channel.status; |
| |
| import 'dart:core'; |
| |
| /// The purpose for which the connection was established has been fulfilled. |
| const normalClosure = 1000; |
| |
| /// An endpoint is "going away", such as a server going down or a browser having |
| /// navigated away from a page. |
| const goingAway = 1001; |
| |
| /// An endpoint is terminating the connection due to a protocol error. |
| const protocolError = 1002; |
| |
| /// An endpoint is terminating the connection because it has received a type of |
| /// data it cannot accept. |
| /// |
| /// For example, an endpoint that understands only text data MAY send this if it |
| /// receives a binary message). |
| const unsupportedData = 1003; |
| |
| /// No status code was present. |
| /// |
| /// This **must not** be set explicitly by an endpoint. |
| const noStatusReceived = 1005; |
| |
| /// The connection was closed abnormally. |
| /// |
| /// For example, this is used if the connection was closed without sending or |
| /// receiving a Close control frame. |
| /// |
| /// This **must not** be set explicitly by an endpoint. |
| const abnormalClosure = 1006; |
| |
| /// An endpoint is terminating the connection because it has received data |
| /// within a message that was not consistent with the type of the message. |
| /// |
| /// For example, the endpoint may have receieved non-UTF-8 data within a text |
| /// message. |
| const invalidFramePayloadData = 1007; |
| |
| /// An endpoint is terminating the connection because it has received a message |
| /// that violates its policy. |
| /// |
| /// This is a generic status code that can be returned when there is no other |
| /// more suitable status code (such as [unsupportedData] or [messageTooBig]), or |
| /// if there is a need to hide specific details about the policy. |
| const policyViolation = 1008; |
| |
| /// An endpoint is terminating the connection because it has received a message |
| /// that is too big for it to process. |
| const messageTooBig = 1009; |
| |
| /// The client is terminating the connection because it expected the server to |
| /// negotiate one or more extensions, but the server didn't return them in the |
| /// response message of the WebSocket handshake. |
| /// |
| /// The list of extensions that are needed should appear in the close reason. |
| /// Note that this status code is not used by the server, because it can fail |
| /// the WebSocket handshake instead. |
| const missingMandatoryExtension = 1010; |
| |
| /// The server is terminating the connection because it encountered an |
| /// unexpected condition that prevented it from fulfilling the request. |
| const internalServerError = 1011; |
| |
| /// The connection was closed due to a failure to perform a TLS handshake. |
| /// |
| /// For example, the server certificate may not have been verified. |
| /// |
| /// This **must not** be set explicitly by an endpoint. |
| const tlsHandshakeFailed = 1015; |