本文整理汇总了Java中io.undertow.server.ServerConnection类的典型用法代码示例。如果您正苦于以下问题:Java ServerConnection类的具体用法?Java ServerConnection怎么用?Java ServerConnection使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ServerConnection类属于io.undertow.server包,在下文中一共展示了ServerConnection类的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: HttpServerConnection
import io.undertow.server.ServerConnection; //导入依赖的package包/类
public HttpServerConnection(StreamConnection channel, final Pool<ByteBuffer> bufferPool, final HttpHandler rootHandler, final OptionMap undertowOptions, final int bufferSize) {
super(channel, bufferPool, rootHandler, undertowOptions, bufferSize);
if (channel instanceof SslChannel) {
sslSessionInfo = new ConnectionSSLSessionInfo(((SslChannel) channel), this);
}
this.responseConduit = new HttpResponseConduit(channel.getSinkChannel().getConduit(), bufferPool);
fixedLengthStreamSinkConduit = new ServerFixedLengthStreamSinkConduit(responseConduit, false, false);
readDataStreamSourceConduit = new ReadDataStreamSourceConduit(channel.getSourceChannel().getConduit(), this);
//todo: do this without an allocation
addCloseListener(new CloseListener() {
@Override
public void closed(ServerConnection connection) {
responseConduit.freeBuffers();
}
});
}
开发者ID:lamsfoundation,项目名称:lams,代码行数:18,代码来源:HttpServerConnection.java
示例2: completed
import io.undertow.server.ServerConnection; //导入依赖的package包/类
@Override
public void completed(final ClientConnection connection) {
final ServerConnection serverConnection = exchange.getConnection();
//we attach to the connection so it can be re-used
serverConnection.putAttachment(clientAttachmentKey, connection);
serverConnection.addCloseListener(serverConnection1 -> IoUtils.safeClose(connection));
connection.getCloseSetter().set((ChannelListener<Channel>) channel -> serverConnection.removeAttachment(clientAttachmentKey));
exchange.setRelativePath("/");
Realm realm = realmCache.matches(exchange.getRequestPath());
Application application = realmCache.getApplication(realm);
String path = exchange.getRequestURI();
if (path.startsWith(application.getVirtualPath())) {
String passTo = calculatePathTo(path, application);
exchange.setRequestPath(passTo);
exchange.setRequestURI(passTo);
}
callback.completed(exchange, new ProxyConnection(connection, "/"));
}
开发者ID:kawasima,项目名称:bouncr,代码行数:20,代码来源:MultiAppProxyClient.java
示例3: setUp
import io.undertow.server.ServerConnection; //导入依赖的package包/类
@Before
public void setUp() {
sut = new GreetingController();
connection = mock(ServerConnection.class);
exchange = mock(HttpServerExchange.class);
request = mock(HttpServletRequestImpl.class);
pushBuilder = mock(PushBuilder.class);
when(exchange.getConnection()).thenReturn(connection);
when(exchange.getRequestHeaders()).thenReturn(new HeaderMap());
when(request.getExchange()).thenReturn(exchange);
}
开发者ID:janweinschenker,项目名称:servlet4-demo,代码行数:15,代码来源:GreetingControllerTest.java
示例4: authenticate
import io.undertow.server.ServerConnection; //导入依赖的package包/类
@Override
public AuthenticationMechanismOutcome authenticate(final HttpServerExchange exchange,
final SecurityContext securityContext) {
ServerConnection connection = exchange.getConnection();
NegotiationContext negContext = connection.getAttachment(NegotiationContext.ATTACHMENT_KEY);
if (negContext != null) {
exchange.putAttachment(NegotiationContext.ATTACHMENT_KEY, negContext);
if (negContext.isEstablished()) {
IdentityManager identityManager = securityContext.getIdentityManager();
final Account account = identityManager.verify(new GSSContextCredential(negContext.getGssContext()));
if (account != null) {
securityContext.authenticationComplete(account, name, false);
return AuthenticationMechanismOutcome.AUTHENTICATED;
} else {
return AuthenticationMechanismOutcome.NOT_AUTHENTICATED;
}
}
}
List<String> authHeaders = exchange.getRequestHeaders().get(AUTHORIZATION);
if (authHeaders != null) {
for (String current : authHeaders) {
if (current.startsWith(NEGOTIATE_PREFIX)) {
String base64Challenge = current.substring(NEGOTIATE_PREFIX.length());
try {
ByteBuffer challenge = FlexBase64.decode(base64Challenge);
return runGSSAPI(exchange, challenge, securityContext);
} catch (IOException e) {
}
// By this point we had a header we should have been able to verify but for some reason
// it was not correctly structured.
return AuthenticationMechanismOutcome.NOT_AUTHENTICATED;
}
}
}
// No suitable header was found so authentication was not even attempted.
return AuthenticationMechanismOutcome.NOT_ATTEMPTED;
}
开发者ID:lamsfoundation,项目名称:lams,代码行数:41,代码来源:GSSAPIAuthenticationMechanism.java
示例5: closed
import io.undertow.server.ServerConnection; //导入依赖的package包/类
@Override
public void closed(ServerConnection connection) {
if(handle != null) {
handle.remove();
handle = null;
}
}
开发者ID:lamsfoundation,项目名称:lams,代码行数:8,代码来源:ParseTimeoutUpdater.java
示例6: completed
import io.undertow.server.ServerConnection; //导入依赖的package包/类
@Override
public void completed(final ClientConnection connection) {
final ServerConnection serverConnection = exchange.getConnection();
//we attach to the connection so it can be re-used
serverConnection.putAttachment(clientAttachmentKey, connection);
serverConnection.addCloseListener(serverConnection1 -> IoUtils.safeClose(connection));
connection.getCloseSetter().set(channel -> serverConnection.removeAttachment(clientAttachmentKey));
callback.completed(exchange, new ProxyConnection(connection, ""));
}
开发者ID:jpkrohling,项目名称:secret-store,代码行数:10,代码来源:TokenReplacingProxyHandler.java
示例7: send
import io.undertow.server.ServerConnection; //导入依赖的package包/类
public void send(final ReadableByteChannel source, final HttpServerExchange exchange,
final IoCallback callback) {
this.source = source;
this.exchange = exchange;
this.callback = callback;
this.sender = exchange.getResponseSender();
ServerConnection connection = exchange.getConnection();
this.pooled = connection.getByteBufferPool().allocate();
this.bufferSize = connection.getBufferSize();
onComplete(exchange, sender);
}
开发者ID:MTDdk,项目名称:jawn,代码行数:13,代码来源:UndertowResponse.java
示例8: send
import io.undertow.server.ServerConnection; //导入依赖的package包/类
public void send(final ReadableByteChannel source, final HttpServerExchange exchange,
final IoCallback callback) {
this.source = source;
this.exchange = exchange;
this.callback = callback;
this.sender = exchange.getResponseSender();
ServerConnection connection = exchange.getConnection();
this.pooled = connection.getByteBufferPool().allocate();
this.bufferSize = connection.getBufferSize();
onComplete(exchange, sender);
}
开发者ID:jooby-project,项目名称:jooby,代码行数:13,代码来源:ChunkedStream.java
示例9: UndertowHttpChannel
import io.undertow.server.ServerConnection; //导入依赖的package包/类
public UndertowHttpChannel(final HttpServerExchange exchange,
final OnOpen onOpen,
final OnError onError,
final OnClose onClose) {
super(Methods.HEAD.equals(exchange.getRequestMethod()), onOpen, onError, onClose);
this.exchange = exchange.setPersistent(true).dispatch();
this.exchange.getConnection().addCloseListener(new ServerConnection.CloseListener() {
@Override
public void closed(ServerConnection _) {
notifyClose();
}
});
}
开发者ID:projectodd,项目名称:wunderboss,代码行数:14,代码来源:UndertowHttpChannel.java
示例10: exceptionInvokingCloseListener
import io.undertow.server.ServerConnection; //导入依赖的package包/类
@LogMessage(level = Logger.Level.ERROR)
@Message(id = 5018, value = "Exception invoking close listener %s")
void exceptionInvokingCloseListener(ServerConnection.CloseListener l, @Cause Throwable e);
开发者ID:lamsfoundation,项目名称:lams,代码行数:4,代码来源:UndertowLogger.java
示例11: ParseTimeoutUpdater
import io.undertow.server.ServerConnection; //导入依赖的package包/类
/**
* Creates new instance of ParseTimeoutSourceConduit.
* @param channel Channel which will be closed in case of timeout.
* @param requestParseTimeout Timeout value. Negative value will indicate that this updated is disabled.
* @param requestIdleTimeout
*/
public ParseTimeoutUpdater(ServerConnection channel, long requestParseTimeout, long requestIdleTimeout) {
this.connection = channel;
this.requestParseTimeout = requestParseTimeout;
this.requestIdleTimeout = requestIdleTimeout;
}
开发者ID:lamsfoundation,项目名称:lams,代码行数:12,代码来源:ParseTimeoutUpdater.java
注:本文中的io.undertow.server.ServerConnection类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论