Class SessionContext
java.lang.Object
org.summerboot.jexpress.nio.server.SessionContext
- Author:
- Changski Tie Zheng Zhang 张铁铮, 魏泽北, 杜旺财, 杜富贵
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected Callerprotected Stringprotected Throwableprotected Stringprotected Stringprotected Stringprotected byte[]protected booleanprotected Fileprotected final longprotected org.apache.logging.log4j.Levelprotected final SocketAddressprotected booleanprotected booleanprotected booleanprotected booleanprotected List<SessionContext.Memo> protected final List<SessionContext.POI> protected ProcessorSettingsprotected final Stringprotected Stringprotected final SocketAddressprotected final Stringprotected final io.netty.handler.codec.http.HttpHeadersprotected final io.netty.handler.codec.http.HttpMethodprotected final Stringprotected ResponseEncoderprotected io.netty.handler.codec.http.HttpHeadersprotected ServiceErrorprotected final OffsetDateTimeprotected final longprotected io.netty.handler.codec.http.HttpResponseStatusprotected final Stringprotected String -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSessionContext(io.netty.channel.ChannelHandlerContext ctx, String txId, long hit, long startTs, io.netty.handler.codec.http.HttpHeaders requestHeaders, String protocol, io.netty.handler.codec.http.HttpMethod requestMethod, String requestURI, String requestBody) SessionContext(SocketAddress localIP, SocketAddress remoteIP, String txId, long hit, long startTs, io.netty.handler.codec.http.HttpHeaders requestHeaders, String protocol, io.netty.handler.codec.http.HttpMethod requestMethod, String requestURI, String requestBody) -
Method Summary
Modifier and TypeMethodDescriptionbooleanstatic SessionContextbuild(long hit) static SessionContextbuild(io.netty.channel.ChannelHandlerContext ctx, String txId, long hit, long startTs, io.netty.handler.codec.http.HttpHeaders requestHeaders, String protocol, io.netty.handler.codec.http.HttpMethod requestMethod, String requestURI, String requestBody) static SessionContext<T extends Caller>
Tcaller()<T extends Caller>
SessionContextcaller(T caller) callerId()cause()charsetName(String charsetName) clientAcceptContentType(String clientAcceptContentType) contentType(String contentType) byte[]data()data(byte[] data) downloadMode(boolean downloadMode) error()Set errorerrors()errors(Collection<Err> es) Clear or set errorsfile()booleanhasError()longhit()booleanorg.apache.logging.log4j.Levellevel()level(org.apache.logging.log4j.Level level) localIP()booleanlogRequestBody(boolean enabled) booleanlogRequestHeader(boolean enabled) booleanlogResponseBody(boolean enabled) booleanlogResponseHeader(boolean enabled) memo()io.netty.handler.codec.http.HttpMethodmethod()poi()processorSettings(ProcessorSettings processorSettings) redirect()remoteIP()report()report(StringBuilder sb) reportOverall(long queuingTime, long processTime, long responseTime, StringBuilder sb) reportPOI(NioConfig cfg, StringBuilder sb) io.netty.handler.codec.http.HttpHeadersresponseEncoder(ResponseEncoder responseEncoder) responseHeader(String key, Iterable<?> values) responseHeader(String key, Object value) io.netty.handler.codec.http.HttpHeadersresponseHeaders(io.netty.handler.codec.http.HttpHeaders headers) responseHeaders(Map<String, ? extends Iterable<?>> hs) session()This method always returns a HttpSession object.session(boolean create) This method returns HttpSession object if request has session else it returns null.<T> TsessionAttribute(Object key) get attribute value by kaysessionAttribute(Object key, Object value) set or remove attribute value, or clear all attributes when both key and value are nulllongio.netty.handler.codec.http.HttpResponseStatusstatus()status(io.netty.handler.codec.http.HttpResponseStatus status) toString()txId()txt()uri()
-
Field Details
-
localIP
-
remoteIP
-
protocol
-
requestMethod
protected final io.netty.handler.codec.http.HttpMethod requestMethod -
requestURI
-
requestHeaders
protected final io.netty.handler.codec.http.HttpHeaders requestHeaders -
requestBody
-
txId
-
hit
protected final long hit -
startTs
protected final long startTs -
startDateTime
-
caller
-
callerId
-
status
protected io.netty.handler.codec.http.HttpResponseStatus status -
autoConvertBlank200To204
protected boolean autoConvertBlank200To204 -
responseHeaders
protected io.netty.handler.codec.http.HttpHeaders responseHeaders -
responseEncoder
-
contentType
-
clientAcceptContentType
-
charsetName
-
data
protected byte[] data -
txt
-
file
-
downloadMode
protected boolean downloadMode -
redirect
-
poi
-
memo
-
sessionAttributes
-
processorSettings
-
serviceError
-
cause
-
level
protected org.apache.logging.log4j.Level level -
logRequestHeader
protected boolean logRequestHeader -
logResponseHeader
protected boolean logResponseHeader -
logRequestBody
protected boolean logRequestBody -
logResponseBody
protected boolean logResponseBody
-
-
Constructor Details
-
SessionContext
-
SessionContext
public SessionContext(SocketAddress localIP, SocketAddress remoteIP, String txId, long hit, long startTs, io.netty.handler.codec.http.HttpHeaders requestHeaders, String protocol, io.netty.handler.codec.http.HttpMethod requestMethod, String requestURI, String requestBody)
-
-
Method Details
-
build
-
build
-
build
public static SessionContext build(io.netty.channel.ChannelHandlerContext ctx, String txId, long hit, long startTs, io.netty.handler.codec.http.HttpHeaders requestHeaders, String protocol, io.netty.handler.codec.http.HttpMethod requestMethod, String requestURI, String requestBody) -
toString
-
session
This method always returns a HttpSession object. It returns the session object attached with the request, if the request has no session attached, then it creates a new session and return it.- Returns:
-
session
This method returns HttpSession object if request has session else it returns null.- Parameters:
create-- Returns:
-
sessionAttribute
get attribute value by kay- Parameters:
key-- Returns:
-
sessionAttribute
set or remove attribute value, or clear all attributes when both key and value are null- Parameters:
key-value- remove key-value if value is null, otherwise add key-value- Returns:
- current SessionContext instance
-
localIP
-
remoteIP
-
startTimestamp
public long startTimestamp() -
startDateTime
-
resetResponseData
-
txId
-
hit
public long hit() -
method
public io.netty.handler.codec.http.HttpMethod method() -
uri
-
requestBody
-
status
public io.netty.handler.codec.http.HttpResponseStatus status() -
status
-
status
public SessionContext status(io.netty.handler.codec.http.HttpResponseStatus status, Boolean autoConvertBlank200To204) -
requestHeaders
public io.netty.handler.codec.http.HttpHeaders requestHeaders() -
responseHeaders
public io.netty.handler.codec.http.HttpHeaders responseHeaders() -
responseHeaders
-
responseHeader
-
responseHeader
-
responseHeaders
-
responseEncoder
-
responseEncoder
-
contentType
-
contentType
-
clientAcceptContentType
-
clientAcceptContentType
-
charsetName
-
charsetName
-
redirect
-
redirect
-
redirect
public SessionContext redirect(String redirect, io.netty.handler.codec.http.HttpResponseStatus status) -
txt
-
response
-
data
public byte[] data() -
data
-
file
-
isDownloadMode
public boolean isDownloadMode() -
downloadMode
-
response
-
response
-
response
public SessionContext response(Object ret) throws com.fasterxml.jackson.core.JsonProcessingException - Throws:
com.fasterxml.jackson.core.JsonProcessingException
-
caller
-
caller
-
callerId
-
callerId
-
hasError
public boolean hasError() -
errors
-
error
-
error
Set error- Parameters:
error-- Returns:
-
errors
Clear or set errors- Parameters:
es-- Returns:
-
cause
-
cause
-
level
public org.apache.logging.log4j.Level level() -
level
-
logRequestHeader
-
logRequestHeader
public boolean logRequestHeader() -
logRequestBody
-
logRequestBody
public boolean logRequestBody() -
logResponseHeader
-
logResponseHeader
public boolean logResponseHeader() -
logResponseBody
-
logResponseBody
public boolean logResponseBody() -
processorSettings
-
processorSettings
-
poi
-
poi
-
memo
-
memo
-
memo
-
autoConvertBlank200To204
public boolean autoConvertBlank200To204() -
report
-
report
-
reportOverall
public SessionContext reportOverall(long queuingTime, long processTime, long responseTime, StringBuilder sb) -
reportPOI
-
reportPOI
-
reportMemo
-
reportError
-