org.apache.catalina.websocket.Constants Maven / Gradle / Ivy
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.
*/
package org.apache.catalina.websocket;
/**
* Constants for this Java package.
*/
public class Constants {
public static final String Package = "org.apache.catalina.websocket";
// OP Codes
public static final byte OPCODE_CONTINUATION = 0x00;
public static final byte OPCODE_TEXT = 0x01;
public static final byte OPCODE_BINARY = 0x02;
public static final byte OPCODE_CLOSE = 0x08;
public static final byte OPCODE_PING = 0x09;
public static final byte OPCODE_PONG = 0x0A;
// Status Codes
// Definitions as per RFC 6455 (http://tools.ietf.org/html/rfc6455)
/**
* 1000 indicates a normal closure, meaning whatever purpose the
* connection was established for has been fulfilled.
*/
public static final int STATUS_CLOSE_NORMAL = 1000;
/**
* 1001 indicates that an endpoint is "going away", such as a server
* going down, or a browser having navigated away from a page.
*/
public static final int STATUS_SHUTDOWN = 1001;
/**
* 1002 indicates that an endpoint is terminating the connection due
* to a protocol error.
*/
public static final int STATUS_PROTOCOL_ERROR = 1002;
/**
* 1003 indicates that an endpoint is terminating the connection
* because it has received a type of data it cannot accept (e.g. an
* endpoint that understands only text data MAY send this if it
* receives a binary message).
*/
public static final int STATUS_UNEXPECTED_DATA_TYPE = 1003;
// 1004 is reserved. The specific meaning might be defined in the future.
/**
* 1005 is a reserved value and MUST NOT be set as a status code in a
* Close control frame by an endpoint. It is designated for use in
* applications expecting a status code to indicate that no status
* code was actually present.
*/
public static final int STATUS_CODE_MISSING = 1005;
/**
* 1006 is a reserved value and MUST NOT be set as a status code in a
* Close control frame by an endpoint. It is designated for use in
* applications expecting a status code to indicate that the
* connection was closed abnormally, e.g. without sending or
* receiving a Close control frame.
*/
public static final int STATUS_CLOSED_UNEXPECTEDLY = 1006;
/**
* 1007 indicates that an endpoint is terminating the connection
* because it has received data within a message that was not
* consistent with the type of the message (e.g., non-UTF-8 [RFC3629]
* data within a text message).
*/
public static final int STATUS_BAD_DATA = 1007;
/**
* 1008 indicates that 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 (e.g. 1003 or 1009), or if there
* is a need to hide specific details about the policy.
*/
public static final int STATUS_POLICY_VIOLATION = 1008;
/**
* 1009 indicates that an endpoint is terminating the connection
* because it has received a message which is too big for it to
* process.
*/
public static final int STATUS_MESSAGE_TOO_LARGE = 1009;
/**
* 1010 indicates that an endpoint (client) is terminating the
* connection because it has expected the server to negotiate one or
* more extension, but the server didn't return them in the response
* message of the WebSocket handshake. The list of extensions which
* are needed SHOULD appear in the /reason/ part of the Close frame.
* Note that this status code is not used by the server, because it
* can fail the WebSocket handshake instead.
*/
public static final int STATUS_REQUIRED_EXTENSION = 1010;
/**
* 1011 indicates that a server is terminating the connection because it
* encountered an unexpected condition that prevented it from fulfilling the
* request.
*/
public static final int STATUS_UNEXPECTED_CONDITION = 1011;
}