All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.netty.handler.codec.http.websocketx.WebSocketVersion Maven / Gradle / Ivy

/*
 * Copyright 2012 The Netty Project
 *
 * The Netty Project 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:
 *
 *   https://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 io.netty.handler.codec.http.websocketx;

import io.netty.util.AsciiString;
import io.netty.util.internal.StringUtil;

/**
 * 

* Versions of the web socket specification. *

*

* A specification is tied to one wire protocol version but a protocol version may have use by more than 1 version of * the specification. *

*/ public enum WebSocketVersion { UNKNOWN(AsciiString.cached(StringUtil.EMPTY_STRING)), /** * draft-ietf-hybi-thewebsocketprotocol- 00. */ V00(AsciiString.cached("0")), /** * draft-ietf-hybi-thewebsocketprotocol- 07 */ V07(AsciiString.cached("7")), /** * draft-ietf-hybi-thewebsocketprotocol- 10 */ V08(AsciiString.cached("8")), /** * RFC 6455. This was originally draft-ietf-hybi-thewebsocketprotocol- * 17 */ V13(AsciiString.cached("13")); private final AsciiString headerValue; WebSocketVersion(AsciiString headerValue) { this.headerValue = headerValue; } /** * @return Value for HTTP Header 'Sec-WebSocket-Version' */ public String toHttpHeaderValue() { return toAsciiString().toString(); } AsciiString toAsciiString() { if (this == UNKNOWN) { // Let's special case this to preserve behaviour throw new IllegalStateException("Unknown web socket version: " + this); } return headerValue; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy