Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static class MyHandler extends AbstractHandshakeHandler {
- public MyHandler() {
- super(new AbstractStandardUpgradeStrategy() {
- @Override
- public String[] getSupportedVersions() {
- return new String[] {"13"};//copied from the tomcat strategy
- }
- @Override
- protected void upgradeInternal(ServerHttpRequest request, ServerHttpResponse response, String selectedProtocol, List<Extension> selectedExtensions, Endpoint endpoint) throws HandshakeFailureException {
- var r = getHttpServletResponse(response);
- r.setStatus(HttpStatus.I_AM_A_TEAPOT.value()); // this works
- r.addHeader("Content-Type", "application/json");
- var d = "{error: \"error\"}".getBytes();
- r.addIntHeader("Content-Length", d.length); // this doesn't work
- try {
- r.getOutputStream().write(d); // this doesn't work
- r.flushBuffer();
- } catch (IOException e) {
- log.error("Error writing body", e);
- }
- }
- });
- }
- }
- @Override
- public void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {
- registry.addHandler(new ExceptionWebSocketHandlerDecorator(myWebSocketHandler), "/ws/")
- .setAllowedOrigins("*")
- .addInterceptors(myHandshakeInterceptor)
- .setHandshakeHandler(new MyHandler());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement