| Index: lib/status.dart
|
| diff --git a/lib/status.dart b/lib/status.dart
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8bd3f1662c014326aab963631fc03d21ad90037a
|
| --- /dev/null
|
| +++ b/lib/status.dart
|
| @@ -0,0 +1,88 @@
|
| +// 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);
|
| +/// }
|
| +/// ```
|
| +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;
|
|
|