org.glassfish.tyrus.spi.Writer Java Examples

The following examples show how to use org.glassfish.tyrus.spi.Writer. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: WebLogicRequestUpgradeStrategy.java    From spring-analysis-note with MIT License 8 votes vote down vote up
@Override
protected void handleSuccess(HttpServletRequest request, HttpServletResponse response,
		UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException {

	response.setStatus(upgradeResponse.getStatus());
	upgradeResponse.getHeaders().forEach((key, value) -> response.addHeader(key, Utils.getHeaderFromList(value)));

	AsyncContext asyncContext = request.startAsync();
	asyncContext.setTimeout(-1L);

	Object nativeRequest = getNativeRequest(request);
	BeanWrapper beanWrapper = new BeanWrapperImpl(nativeRequest);
	Object httpSocket = beanWrapper.getPropertyValue("connection.connectionHandler.rawConnection");
	Object webSocket = webSocketHelper.newInstance(request, httpSocket);
	webSocketHelper.upgrade(webSocket, httpSocket, request.getServletContext());

	response.flushBuffer();

	boolean isProtected = request.getUserPrincipal() != null;
	Writer servletWriter = servletWriterHelper.newInstance(webSocket, isProtected);
	Connection connection = upgradeInfo.createConnection(servletWriter, noOpCloseListener);
	new BeanWrapperImpl(webSocket).setPropertyValue("connection", connection);
	new BeanWrapperImpl(servletWriter).setPropertyValue("connection", connection);
	webSocketHelper.registerForReadEvent(webSocket);
}
 
Example #2
Source File: WebLogicRequestUpgradeStrategy.java    From java-technology-stack with MIT License 6 votes vote down vote up
@Override
protected void handleSuccess(HttpServletRequest request, HttpServletResponse response,
		UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException {

	response.setStatus(upgradeResponse.getStatus());
	upgradeResponse.getHeaders().forEach((key, value) -> response.addHeader(key, Utils.getHeaderFromList(value)));

	AsyncContext asyncContext = request.startAsync();
	asyncContext.setTimeout(-1L);

	Object nativeRequest = getNativeRequest(request);
	BeanWrapper beanWrapper = new BeanWrapperImpl(nativeRequest);
	Object httpSocket = beanWrapper.getPropertyValue("connection.connectionHandler.rawConnection");
	Object webSocket = webSocketHelper.newInstance(request, httpSocket);
	webSocketHelper.upgrade(webSocket, httpSocket, request.getServletContext());

	response.flushBuffer();

	boolean isProtected = request.getUserPrincipal() != null;
	Writer servletWriter = servletWriterHelper.newInstance(webSocket, isProtected);
	Connection connection = upgradeInfo.createConnection(servletWriter, noOpCloseListener);
	new BeanWrapperImpl(webSocket).setPropertyValue("connection", connection);
	new BeanWrapperImpl(servletWriter).setPropertyValue("connection", connection);
	webSocketHelper.registerForReadEvent(webSocket);
}
 
Example #3
Source File: WebLogicRequestUpgradeStrategy.java    From spring-analysis-note with MIT License 5 votes vote down vote up
private Writer newInstance(Object webSocket, boolean isProtected) {
	try {
		return (Writer) constructor.newInstance(webSocket, null, isProtected);
	}
	catch (Exception ex) {
		throw new HandshakeFailureException("Failed to create TyrusServletWriter", ex);
	}
}
 
Example #4
Source File: GlassFishRequestUpgradeStrategy.java    From spring-analysis-note with MIT License 5 votes vote down vote up
@Override
protected void handleSuccess(HttpServletRequest request, HttpServletResponse response,
		UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException {

	TyrusHttpUpgradeHandler handler = request.upgrade(TyrusHttpUpgradeHandler.class);
	Writer servletWriter = newServletWriter(handler);
	handler.preInit(upgradeInfo, servletWriter, request.getUserPrincipal() != null);

	response.setStatus(upgradeResponse.getStatus());
	upgradeResponse.getHeaders().forEach((key, value) -> response.addHeader(key, Utils.getHeaderFromList(value)));
	response.flushBuffer();
}
 
Example #5
Source File: GlassFishRequestUpgradeStrategy.java    From spring-analysis-note with MIT License 5 votes vote down vote up
private Writer newServletWriter(TyrusHttpUpgradeHandler handler) {
	try {
		return (Writer) constructor.newInstance(handler);
	}
	catch (Exception ex) {
		throw new HandshakeFailureException("Failed to instantiate TyrusServletWriter", ex);
	}
}
 
Example #6
Source File: WebLogicRequestUpgradeStrategy.java    From java-technology-stack with MIT License 5 votes vote down vote up
private Writer newInstance(Object webSocket, boolean isProtected) {
	try {
		return (Writer) constructor.newInstance(webSocket, null, isProtected);
	}
	catch (Exception ex) {
		throw new HandshakeFailureException("Failed to create TyrusServletWriter", ex);
	}
}
 
Example #7
Source File: GlassFishRequestUpgradeStrategy.java    From java-technology-stack with MIT License 5 votes vote down vote up
@Override
protected void handleSuccess(HttpServletRequest request, HttpServletResponse response,
		UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException {

	TyrusHttpUpgradeHandler handler = request.upgrade(TyrusHttpUpgradeHandler.class);
	Writer servletWriter = newServletWriter(handler);
	handler.preInit(upgradeInfo, servletWriter, request.getUserPrincipal() != null);

	response.setStatus(upgradeResponse.getStatus());
	upgradeResponse.getHeaders().forEach((key, value) -> response.addHeader(key, Utils.getHeaderFromList(value)));
	response.flushBuffer();
}
 
Example #8
Source File: GlassFishRequestUpgradeStrategy.java    From java-technology-stack with MIT License 5 votes vote down vote up
private Writer newServletWriter(TyrusHttpUpgradeHandler handler) {
	try {
		return (Writer) constructor.newInstance(handler);
	}
	catch (Exception ex) {
		throw new HandshakeFailureException("Failed to instantiate TyrusServletWriter", ex);
	}
}
 
Example #9
Source File: WebLogicRequestUpgradeStrategy.java    From spring4-understanding with Apache License 2.0 5 votes vote down vote up
@Override
protected void handleSuccess(HttpServletRequest request, HttpServletResponse response,
		UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException {

	response.setStatus(upgradeResponse.getStatus());
	for (Map.Entry<String, List<String>> entry : upgradeResponse.getHeaders().entrySet()) {
		response.addHeader(entry.getKey(), Utils.getHeaderFromList(entry.getValue()));
	}

	AsyncContext asyncContext = request.startAsync();
	asyncContext.setTimeout(-1L);

	Object nativeRequest = getNativeRequest(request);
	BeanWrapper beanWrapper = new BeanWrapperImpl(nativeRequest);
	Object httpSocket = beanWrapper.getPropertyValue("connection.connectionHandler.rawConnection");
	Object webSocket = webSocketHelper.newInstance(request, httpSocket);
	webSocketHelper.upgrade(webSocket, httpSocket, request.getServletContext());

	response.flushBuffer();

	boolean isProtected = request.getUserPrincipal() != null;
	Writer servletWriter = servletWriterHelper.newInstance(response, webSocket, isProtected);
	Connection connection = upgradeInfo.createConnection(servletWriter, noOpCloseListener);
	new BeanWrapperImpl(webSocket).setPropertyValue("connection", connection);
	new BeanWrapperImpl(servletWriter).setPropertyValue("connection", connection);
	webSocketHelper.registerForReadEvent(webSocket);
}
 
Example #10
Source File: WebLogicRequestUpgradeStrategy.java    From spring4-understanding with Apache License 2.0 5 votes vote down vote up
private Writer newInstance(HttpServletResponse response, Object webSocket, boolean isProtected) {
	try {
		Object[] args = (WLS_12_1_3 ?
				new Object[] {webSocket, response, null, isProtected} :
				new Object[] {webSocket, null, isProtected});

		return (Writer) constructor.newInstance(args);
	}
	catch (Exception ex) {
		throw new HandshakeFailureException("Failed to create TyrusServletWriter", ex);
	}
}
 
Example #11
Source File: GlassFishRequestUpgradeStrategy.java    From spring4-understanding with Apache License 2.0 5 votes vote down vote up
@Override
protected void handleSuccess(HttpServletRequest request, HttpServletResponse response,
		UpgradeInfo upgradeInfo, TyrusUpgradeResponse upgradeResponse) throws IOException, ServletException {

	TyrusHttpUpgradeHandler handler = request.upgrade(TyrusHttpUpgradeHandler.class);
	Writer servletWriter = servletWriterHelper.newInstance(handler);
	handler.preInit(upgradeInfo, servletWriter, request.getUserPrincipal() != null);

	response.setStatus(upgradeResponse.getStatus());
	for (Map.Entry<String, List<String>> entry : upgradeResponse.getHeaders().entrySet()) {
		response.addHeader(entry.getKey(), Utils.getHeaderFromList(entry.getValue()));
	}
	response.flushBuffer();
}
 
Example #12
Source File: GlassFishRequestUpgradeStrategy.java    From spring4-understanding with Apache License 2.0 5 votes vote down vote up
private Writer newInstance(TyrusHttpUpgradeHandler handler) {
	try {
		return (Writer) constructor.newInstance(handler);
	}
	catch (Exception ex) {
		throw new HandshakeFailureException("Failed to instantiate TyrusServletWriter", ex);
	}
}