Class SessionContext

java.lang.Object
org.summerboot.jexpress.nio.server.SessionContext

public class SessionContext extends Object
Author:
Changski Tie Zheng Zhang 张铁铮, 魏泽北, 杜旺财, 杜富贵
  • Field Details

    • localIP

      protected final SocketAddress localIP
    • remoteIP

      protected final SocketAddress remoteIP
    • protocol

      protected final String protocol
    • requestMethod

      protected final io.netty.handler.codec.http.HttpMethod requestMethod
    • requestURI

      protected final String requestURI
    • requestHeaders

      protected final io.netty.handler.codec.http.HttpHeaders requestHeaders
    • requestBody

      protected final String requestBody
    • txId

      protected final String txId
    • hit

      protected final long hit
    • startTs

      protected final long startTs
    • startDateTime

      protected final OffsetDateTime startDateTime
    • caller

      protected Caller caller
    • callerId

      protected String callerId
    • status

      protected io.netty.handler.codec.http.HttpResponseStatus status
    • autoConvertBlank200To204

      protected boolean autoConvertBlank200To204
    • responseHeaders

      protected io.netty.handler.codec.http.HttpHeaders responseHeaders
    • responseEncoder

      protected ResponseEncoder responseEncoder
    • contentType

      protected String contentType
    • clientAcceptContentType

      protected String clientAcceptContentType
    • charsetName

      protected String charsetName
    • data

      protected byte[] data
    • txt

      protected String txt
    • file

      protected File file
    • downloadMode

      protected boolean downloadMode
    • redirect

      protected String redirect
    • poi

      protected final List<SessionContext.POI> poi
    • memo

      protected List<SessionContext.Memo> memo
    • sessionAttributes

      protected Map<Object,Object> sessionAttributes
    • processorSettings

      protected ProcessorSettings processorSettings
    • serviceError

      protected ServiceError serviceError
    • cause

      protected Throwable 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

      protected SessionContext(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

      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

      public static SessionContext build(long hit)
    • build

      public static SessionContext build(String txId, long hit)
    • 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

      public String toString()
      Overrides:
      toString in class Object
    • session

      public Map<Object,Object> 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

      public Map<Object,Object> session(boolean create)
      This method returns HttpSession object if request has session else it returns null.
      Parameters:
      create -
      Returns:
    • sessionAttribute

      public <T> T sessionAttribute(Object key)
      get attribute value by kay
      Parameters:
      key -
      Returns:
    • sessionAttribute

      public SessionContext sessionAttribute(Object key, Object value)
      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

      public SocketAddress localIP()
    • remoteIP

      public SocketAddress remoteIP()
    • startTimestamp

      public long startTimestamp()
    • startDateTime

      public OffsetDateTime startDateTime()
    • resetResponseData

      public SessionContext resetResponseData()
    • txId

      public String txId()
    • hit

      public long hit()
    • method

      public io.netty.handler.codec.http.HttpMethod method()
    • uri

      public String uri()
    • requestBody

      public String requestBody()
    • status

      public io.netty.handler.codec.http.HttpResponseStatus status()
    • status

      public SessionContext status(io.netty.handler.codec.http.HttpResponseStatus 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

      public SessionContext responseHeaders(io.netty.handler.codec.http.HttpHeaders headers)
    • responseHeader

      public SessionContext responseHeader(String key, Object value)
    • responseHeader

      public SessionContext responseHeader(String key, Iterable<?> values)
    • responseHeaders

      public SessionContext responseHeaders(Map<String, ? extends Iterable<?>> hs)
    • responseEncoder

      public ResponseEncoder responseEncoder()
    • responseEncoder

      public SessionContext responseEncoder(ResponseEncoder responseEncoder)
    • contentType

      public String contentType()
    • contentType

      public SessionContext contentType(String contentType)
    • clientAcceptContentType

      public String clientAcceptContentType()
    • clientAcceptContentType

      public SessionContext clientAcceptContentType(String clientAcceptContentType)
    • charsetName

      public String charsetName()
    • charsetName

      public SessionContext charsetName(String charsetName)
    • redirect

      public String redirect()
    • redirect

      public SessionContext redirect(String redirect)
    • redirect

      public SessionContext redirect(String redirect, io.netty.handler.codec.http.HttpResponseStatus status)
    • txt

      public String txt()
    • response

      public SessionContext response(String txt)
    • data

      public byte[] data()
    • data

      public SessionContext data(byte[] data)
    • file

      public File file()
    • isDownloadMode

      public boolean isDownloadMode()
    • downloadMode

      public SessionContext downloadMode(boolean downloadMode)
    • response

      public SessionContext response(String fileName, boolean isDownloadMode)
    • response

      public SessionContext response(File file, boolean isDownloadMode)
    • response

      public SessionContext response(Object ret) throws com.fasterxml.jackson.core.JsonProcessingException
      Throws:
      com.fasterxml.jackson.core.JsonProcessingException
    • caller

      public <T extends Caller> T caller()
    • caller

      public <T extends Caller> SessionContext caller(T caller)
    • callerId

      public String callerId()
    • callerId

      public SessionContext callerId(String callerId)
    • isCallerInRole

      public boolean isCallerInRole(String role)
    • hasError

      public boolean hasError()
    • errors

      public List<Err> errors()
    • error

      public ServiceError error()
    • error

      public SessionContext error(Err error)
      Set error
      Parameters:
      error -
      Returns:
    • errors

      public SessionContext errors(Collection<Err> es)
      Clear or set errors
      Parameters:
      es -
      Returns:
    • cause

      public SessionContext cause(Throwable cause)
    • cause

      public Throwable cause()
    • level

      public org.apache.logging.log4j.Level level()
    • level

      public SessionContext level(org.apache.logging.log4j.Level level)
    • logRequestHeader

      public SessionContext logRequestHeader(boolean enabled)
    • logRequestHeader

      public boolean logRequestHeader()
    • logRequestBody

      public SessionContext logRequestBody(boolean enabled)
    • logRequestBody

      public boolean logRequestBody()
    • logResponseHeader

      public SessionContext logResponseHeader(boolean enabled)
    • logResponseHeader

      public boolean logResponseHeader()
    • logResponseBody

      public SessionContext logResponseBody(boolean enabled)
    • logResponseBody

      public boolean logResponseBody()
    • processorSettings

      public ProcessorSettings processorSettings()
    • processorSettings

      public SessionContext processorSettings(ProcessorSettings processorSettings)
    • poi

      public SessionContext poi(String marker)
    • poi

      public List<SessionContext.POI> poi()
    • memo

      public SessionContext memo(String desc)
    • memo

      public SessionContext memo(String id, String desc)
    • memo

      public List<SessionContext.Memo> memo()
    • autoConvertBlank200To204

      public boolean autoConvertBlank200To204()
    • report

      public StringBuilder report()
    • report

      public SessionContext report(StringBuilder sb)
    • reportOverall

      public SessionContext reportOverall(long queuingTime, long processTime, long responseTime, StringBuilder sb)
    • reportPOI

      public SessionContext reportPOI(StringBuilder sb)
    • reportPOI

      public SessionContext reportPOI(NioConfig cfg, StringBuilder sb)
    • reportMemo

      public SessionContext reportMemo(StringBuilder sb)
    • reportError

      public SessionContext reportError(StringBuilder sb)