-
Bug
-
Resolution: Done
-
Major
-
2.0.17.Final
-
None
My app redefines the http status code and use status code in [600,999] scope.
When I return http status code 735, I got this exception:
Caused by: java.lang.ArrayIndexOutOfBoundsException: 735 at io.undertow.util.StatusCodes.getReason(StatusCodes.java:220) at io.undertow.server.protocol.http.HttpResponseConduit.processWrite(HttpResponseConduit.java:182) at io.undertow.server.protocol.http.HttpResponseConduit.write(HttpResponseConduit.java:634) at io.undertow.conduits.ChunkedStreamSinkConduit.doWrite(ChunkedStreamSinkConduit.java:166) at io.undertow.conduits.ChunkedStreamSinkConduit.write(ChunkedStreamSinkConduit.java:128) at org.xnio.conduits.ConduitStreamSinkChannel.write(ConduitStreamSinkChannel.java:150) at io.undertow.channels.DetachableStreamSinkChannel.write(DetachableStreamSinkChannel.java:240) at io.undertow.server.HttpServerExchange$WriteDispatchChannel.write(HttpServerExchange.java:2103) at io.undertow.servlet.spec.ServletOutputStreamImpl.writeBufferBlocking(ServletOutputStreamImpl.java:574) at io.undertow.servlet.spec.ServletOutputStreamImpl.flushInternal(ServletOutputStreamImpl.java:489) at io.undertow.servlet.spec.ServletOutputStreamImpl.flush(ServletOutputStreamImpl.java:476) at org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.flush(OnCommittedResponseWrapper.java:514) at org.springframework.security.web.util.OnCommittedResponseWrapper$SaveContextServletOutputStream.flush(OnCommittedResponseWrapper.java:514)
I check the source code, and find out StatusCodes use 0x2df(735 in decimalism) as array max index.
Any workaround to solve this problem?