/* * JBoss, Home of Professional Open Source. * Copyright 2014 Red Hat, Inc., and individual contributors * as indicated by the @author tags. * * Licensed 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 io.undertow.websockets.core; import io.undertow.websockets.WebSocketExtension; import org.jboss.logging.Messages; import org.jboss.logging.annotations.Cause; import org.jboss.logging.annotations.Message; import org.jboss.logging.annotations.MessageBundle; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.Collection; import java.util.List; import java.util.zip.DataFormatException; /** * start at 20000 * @author Stuart Douglas */ @MessageBundle(projectCode = "UT") public interface WebSocketMessages { WebSocketMessages MESSAGES = Messages.getBundle(WebSocketMessages.class); @Message(id = 2001, value = "Not a WebSocket handshake request: missing %s in the headers") WebSocketHandshakeException missingHeader(String header); @Message(id = 2002, value = "Channel is closed") IOException channelClosed(); @Message(id = 2003, value = "Text frame contains non UTF-8 data") UnsupportedEncodingException invalidTextFrameEncoding(); @Message(id = 2004, value = "Cannot call shutdownWrites, only %s of %s bytes written") IOException notAllPayloadDataWritten(long written, long payloadSize); @Message(id = 2005, value = "Fragmented control frame") WebSocketFrameCorruptedException fragmentedControlFrame(); @Message(id = 2006, value = "Control frame with payload length > 125 octets") WebSocketFrameCorruptedException toBigControlFrame(); @Message(id = 2007, value = "Control frame using reserved opcode = %s") WebSocketFrameCorruptedException reservedOpCodeInControlFrame(int opCode); @Message(id = 2008, value = "Received close control frame with payload len 1") WebSocketFrameCorruptedException controlFrameWithPayloadLen1(); @Message(id = 2009, value = "Data frame using reserved opcode = %s") WebSocketFrameCorruptedException reservedOpCodeInDataFrame(int opCode); @Message(id = 2010, value = "Received continuation data frame outside fragmented message") WebSocketFrameCorruptedException continuationFrameOutsideFragmented(); @Message(id = 2011, value = "Received non-continuation data frame while inside fragmented message") WebSocketFrameCorruptedException nonContinuationFrameInsideFragmented(); @Message(id = 2012, value = "Invalid data frame length (not using minimal length encoding)") WebSocketFrameCorruptedException invalidDataFrameLength(); @Message(id = 2013, value = "Cannot decode web socket frame with opcode: %s") IllegalStateException unsupportedOpCode(int opCode); @Message(id = 2014, value = "WebSocketFrameType %s is not supported by this WebSocketChannel\"") IllegalArgumentException unsupportedFrameType(WebSocketFrameType type); @Message(id = 2015, value = "Extensions not allowed but received rsv of %s") WebSocketFrameCorruptedException extensionsNotAllowed(int rsv); @Message(id = 2016, value = "Could not find supported protocol in request list %s. Supported protocols are %s") WebSocketHandshakeException unsupportedProtocol(String requestedSubprotocols, Collection<String> subprotocols); @Message(id = 2017, value = "No Length encoded in the frame") WebSocketFrameCorruptedException noLengthEncodedInFrame(); @Message(id = 2018, value = "Payload is not support in CloseFrames when using WebSocket Version 00") IllegalArgumentException payloadNotSupportedInCloseFrames(); @Message(id = 2019, value = "Invalid payload for PING (payload length must be <= 125, was %s)") IllegalArgumentException invalidPayloadLengthForPing(long payloadLength); @Message(id = 2020, value = "Payload is not supported for Close Frames when using WebSocket 00") IOException noPayloadAllowedForCloseFrames(); @Message(id = 2021, value = "Fragmentation not supported") UnsupportedOperationException fragmentationNotSupported(); @Message(id = 2022, value = "Can only be changed before the write is in progress") IllegalStateException writeInProgress(); @Message(id = 2023, value = "Extensions not supported") UnsupportedOperationException extensionsNotSupported(); @Message(id = 2024, value = "The payload length must be >= 0") IllegalArgumentException negativePayloadLength(); @Message(id = 2025, value = "Closed before all bytes where read") IOException closedBeforeAllBytesWereRead(); @Message(id = 2026, value = "Invalid close frame status code: %s") WebSocketInvalidCloseCodeException invalidCloseFrameStatusCode(int statusCode); @Message(id = 2027, value = "Could not send data, as the underlying web socket connection has been broken") IOException streamIsBroken(); @Message(id = 2028, value = "Specified length is bigger the available size of the FileChannel") IllegalArgumentException lengthBiggerThenFileChannel(); @Message(id = 2029, value = "FragmentedSender was complete already") IllegalArgumentException fragmentedSenderCompleteAlready(); @Message(id = 2030, value = "Array of SenderCallbacks must be non empty") IllegalArgumentException senderCallbacksEmpty(); @Message(id = 2031, value = "Only one FragmentedSender can be used at the same time") IllegalStateException fragmentedSenderInUse(); @Message(id = 2032, value = "Close frame was send before") IOException closeFrameSentBefore(); @Message(id = 2033, value = "Blocking operation was called in IO thread") IllegalStateException blockingOperationInIoThread(); @Message(id = 2034, value = "Web socket frame was not masked") WebSocketFrameCorruptedException frameNotMasked(); @Message(id = 2035, value = "The response did not contain an 'Upgrade: websocket' header") IOException noWebSocketUpgradeHeader(); @Message(id = 2036, value = "The response did not contain a 'Connection: upgrade' header") IOException noWebSocketConnectionHeader(); @Message(id = 2037, value = "Sec-WebSocket-Accept mismatch, expecting %s, received %s") IOException webSocketAcceptKeyMismatch(String dKey, String acceptKey); @Message(id = 2038, value = "Cannot call method with frame type %s, only text or binary is allowed") IllegalArgumentException incorrectFrameType(WebSocketFrameType type); @Message(id = 2039, value = "Data has already been released") IllegalStateException dataHasBeenReleased(); @Message(id = 2040, value = "Message exceeded max message size of %s") String messageToBig(long maxMessageSize); @Message(id = 2041, value = "Attempted to write more data than the specified payload length") IOException messageOverflow(); @Message(id = 2042, value = "Server responded with unsupported extension %s. Supported extensions: %s") IOException unsupportedExtension(String part, List<WebSocketExtension> supportedExtensions); @Message(id = 2043, value = "WebSocket client is trying to use extensions but there is not extensions configured") IllegalStateException badExtensionsConfiguredInClient(); @Message(id = 2044, value = "Compressed message payload is corrupted") IOException badCompressedPayload(@Cause final DataFormatException cause); @Message(id = 2045, value = "Unable to send on newly created channel!") IllegalStateException unableToSendOnNewChannel(); }