-
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?