| // 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/web_socket_channel.dart'; | |
| /// import 'package:web_socket_channel/status.dart' as status; | |
| /// | |
| /// void main() async { | |
| /// var channel = WebSocketChannel.connect(Uri.parse('ws://localhost:1234')); | |
| /// // ... | |
| /// channel.close(status.goingAway); | |
| /// } | |
| /// ``` | |
| library; | |
| 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; |