Top Description Inners Fields Constructors Methods
io.undertow.server.handlers

public Class LearningPushHandler

extends Object
implements HttpHandler
Class Inheritance
All Implemented Interfaces
io.undertow.server.HttpHandler
Imports
io.undertow.server.ExchangeCompletionListener, .HandlerWrapper, .HttpHandler, .HttpServerExchange, io.undertow.server.handlers.builder.HandlerBuilder, io.undertow.server.handlers.cache.LRUCache, io.undertow.server.session.Session, .SessionConfig, .SessionManager, io.undertow.util.DateUtils, .HeaderMap, .Headers, .Methods, java.util.Collections, .Date, .HashMap, .Map, .Set

Handler that builds up a cache of resources that a browsers requests, and uses server push to push them when supported.
Author
Stuart Douglas

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
private class
private static class

Field Summary

Modifier and TypeField and Description
private final LRUCache<String, Map<String, LearningPushHandler.PushedRequest>>
private static final int
private static final int
private final HttpHandler
private static final String

Constructor Summary

AccessConstructor and Description
public
public
LearningPushHandler(int maxEntries, int maxAge, HttpHandler next)

Method Summary

Modifier and TypeMethod and Description
private void
doPush(HttpServerExchange exchange, String fullPath)

protected Session
public void
handleRequest(HttpServerExchange
the HTTP request/response exchange
exchange
)

Implements io.undertow.server.HttpHandler.handleRequest.

Handle the request.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

cacheback to summary
private final LRUCache<String, Map<String, LearningPushHandler.PushedRequest>> cache
DEFAULT_MAX_CACHE_AGEback to summary
private static final int DEFAULT_MAX_CACHE_AGE
DEFAULT_MAX_CACHE_ENTRIESback to summary
private static final int DEFAULT_MAX_CACHE_ENTRIES
nextback to summary
private final HttpHandler next
SESSION_ATTRIBUTEback to summary
private static final String SESSION_ATTRIBUTE

Constructor Detail

LearningPushHandlerback to summary
public LearningPushHandler(final HttpHandler next)
LearningPushHandlerback to summary
public LearningPushHandler(int maxEntries, int maxAge, HttpHandler next)

Method Detail

doPushback to summary
private void doPush(HttpServerExchange exchange, String fullPath)
getSessionback to summary
protected Session getSession(HttpServerExchange exchange)
handleRequestback to summary
public void handleRequest(HttpServerExchange exchange) throws Exception

Implements io.undertow.server.HttpHandler.handleRequest.

Doc from io.undertow.server.HttpHandler.handleRequest.

Handle the request.

Parameters
exchange:HttpServerExchange

the HTTP request/response exchange

Annotations
@Override
io.undertow.server.handlers back to summary

public Class LearningPushHandler.Builder

extends Object
implements HandlerBuilder
Class Inheritance
All Implemented Interfaces
io.undertow.server.handlers.builder.HandlerBuilder

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public HandlerWrapper
build(Map<String, Object>
The handler config
config
)

Implements io.undertow.server.handlers.builder.HandlerBuilder.build.

Creates the handler

public String
public String
name()

Implements io.undertow.server.handlers.builder.HandlerBuilder.name.

The string representation of the handler name.

public Map<String, Class<?>>
parameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Returns a map of parameters and their types.

public Set<String>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

Builderback to summary
public Builder()

Method Detail

buildback to summary
public HandlerWrapper build(Map<String, Object> config)

Implements io.undertow.server.handlers.builder.HandlerBuilder.build.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.build.

Creates the handler

Parameters
config:Map<String, Object>

The handler config

Returns:HandlerWrapper

The new predicate

Annotations
@Override
defaultParameterback to summary
public String defaultParameter()

Implements io.undertow.server.handlers.builder.HandlerBuilder.defaultParameter.

Returns:String

Doc from io.undertow.server.handlers.builder.HandlerBuilder.defaultParameter.

The default parameter name, or null if it does not have a default parameter

Annotations
@Override
nameback to summary
public String name()

Implements io.undertow.server.handlers.builder.HandlerBuilder.name.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.name.

The string representation of the handler name.

Returns:String

The handler name

Annotations
@Override
parametersback to summary
public Map<String, Class<?>> parameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Doc from io.undertow.server.handlers.builder.HandlerBuilder.parameters.

Returns a map of parameters and their types.

Annotations
@Override
requiredParametersback to summary
public Set<String> requiredParameters()

Implements io.undertow.server.handlers.builder.HandlerBuilder.requiredParameters.

Returns:Set<String>

Doc from io.undertow.server.handlers.builder.HandlerBuilder.requiredParameters.

The required parameters

Annotations
@Override
io.undertow.server.handlers back to summary

private final Class LearningPushHandler.PushCompletionListener

extends Object
implements ExchangeCompletionListener
Class Inheritance
  • java.lang.Object
  • io.undertow.server.handlers.LearningPushHandler.PushCompletionListener
All Implemented Interfaces
io.undertow.server.ExchangeCompletionListener

Field Summary

Modifier and TypeField and Description
private final String
private final String
private final String

Constructor Summary

AccessConstructor and Description
private
PushCompletionListener(String fullPath, String requestPath, String referer)

Method Summary

Modifier and TypeMethod and Description
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

fullPathback to summary
private final String fullPath
refererback to summary
private final String referer
requestPathback to summary
private final String requestPath

Constructor Detail

PushCompletionListenerback to summary
private PushCompletionListener(String fullPath, String requestPath, String referer)

Method Detail

exchangeEventback to summary
public void exchangeEvent(HttpServerExchange exchange, ExchangeCompletionListener.NextListener nextListener)

Implements io.undertow.server.ExchangeCompletionListener.exchangeEvent.

Annotations
@Override
io.undertow.server.handlers back to summary

private Class LearningPushHandler.PushedRequest

extends Object
Class Inheritance
  • java.lang.Object
  • io.undertow.server.handlers.LearningPushHandler.PushedRequest

Field Summary

Modifier and TypeField and Description
private final String
private final long
private final String
private final HeaderMap

Constructor Summary

AccessConstructor and Description
private
PushedRequest(HeaderMap requestHeaders, String path, String etag, long lastModified)

Method Summary

Modifier and TypeMethod and Description
public String
public long
public String
public HeaderMap
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

etagback to summary
private final String etag
lastModifiedback to summary
private final long lastModified
pathback to summary
private final String path
requestHeadersback to summary
private final HeaderMap requestHeaders

Constructor Detail

PushedRequestback to summary
private PushedRequest(HeaderMap requestHeaders, String path, String etag, long lastModified)

Method Detail

getEtagback to summary
public String getEtag()
getLastModifiedback to summary
public long getLastModified()
getPathback to summary
public String getPath()
getRequestHeadersback to summary
public HeaderMap getRequestHeaders()