Class ServiceContext

java.lang.Object
org.summerboot.jexpress.nio.server.domain.ServiceContext

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

    • localIP

      protected final SocketAddress localIP
    • remoteIP

      protected final SocketAddress remoteIP
    • requesMethod

      protected final io.netty.handler.codec.http.HttpMethod requesMethod
    • requesURI

      protected final String requesURI
    • 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<ServiceContext.POI> poi
    • memo

      protected List<ServiceContext.Memo> memo
    • sessionAttributes

      protected Map<Object,Object> sessionAttributes
    • 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

    • ServiceContext

      protected ServiceContext(io.netty.channel.ChannelHandlerContext ctx, String txId, long hit, long startTs, io.netty.handler.codec.http.HttpHeaders requestHeaders, io.netty.handler.codec.http.HttpMethod requesMethod, String requesURI, String requestBody)
  • Method Details

    • build

      public static ServiceContext build(long hit)
    • build

      public static ServiceContext build(String txId, long hit)
    • build

      public static ServiceContext build(io.netty.channel.ChannelHandlerContext ctx, String txId, long hit, long startTs, io.netty.handler.codec.http.HttpHeaders requestHeaders, io.netty.handler.codec.http.HttpMethod requesMethod, String requesURI, 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 ServiceContext 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 ServiceContext instance
    • localIP

      public SocketAddress localIP()
    • remoteIP

      public SocketAddress remoteIP()
    • startTimestamp

      public long startTimestamp()
    • startDateTime

      public OffsetDateTime startDateTime()
    • reset

      public ServiceContext reset()
    • 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 ServiceContext status(io.netty.handler.codec.http.HttpResponseStatus status)
    • status

      public ServiceContext 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 ServiceContext responseHeaders(io.netty.handler.codec.http.HttpHeaders headers)
    • responseHeader

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

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

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

      public ResponseEncoder responseEncoder()
    • responseEncoder

      public ServiceContext responseEncoder(ResponseEncoder responseEncoder)
    • contentType

      public String contentType()
    • contentType

      public ServiceContext contentType(String contentType)
    • clientAcceptContentType

      public String clientAcceptContentType()
    • clientAcceptContentType

      public ServiceContext clientAcceptContentType(String clientAcceptContentType)
    • charsetName

      public String charsetName()
    • charsetName

      public ServiceContext charsetName(String charsetName)
    • redirect

      public String redirect()
    • redirect

      public ServiceContext redirect(String redirect)
    • redirect

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

      public String txt()
    • txt

      public ServiceContext txt(String txt)
    • data

      public byte[] data()
    • data

      public ServiceContext data(byte[] data)
    • file

      public File file()
    • isDownloadMode

      public boolean isDownloadMode()
    • downloadMode

      public ServiceContext downloadMode(boolean downloadMode)
    • precheckFolder

      public boolean precheckFolder(File folder)
    • precheckFile

      public boolean precheckFile(File file, boolean isDownloadMode)
    • buildErrorFile

      protected File buildErrorFile(io.netty.handler.codec.http.HttpResponseStatus status, boolean isDownloadMode)
    • file

      public ServiceContext file(String fileName, boolean isDownloadMode)
    • file

      public ServiceContext file(File file, boolean isDownloadMode)
    • content

      public ServiceContext content(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> ServiceContext caller(T caller)
    • callerId

      public String callerId()
    • callerId

      public ServiceContext callerId(String callerId)
    • hasError

      public boolean hasError()
    • errors

      public List<Err> errors()
    • error

      public ServiceError error()
    • error

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

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

      public ServiceContext cause(Throwable cause)
    • cause

      public Throwable cause()
    • level

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

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

      public ServiceContext logRequestHeader(boolean enabled)
    • logRequestHeader

      public boolean logRequestHeader()
    • logRequestBody

      public ServiceContext logRequestBody(boolean enabled)
    • logRequestBody

      public boolean logRequestBody()
    • logResponseHeader

      public ServiceContext logResponseHeader(boolean enabled)
    • logResponseHeader

      public boolean logResponseHeader()
    • logResponseBody

      public ServiceContext logResponseBody(boolean enabled)
    • logResponseBody

      public boolean logResponseBody()
    • poi

      public ServiceContext poi(String marker)
    • poi

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

      public ServiceContext memo(String desc)
    • memo

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

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

      public boolean autoConvertBlank200To204()
    • report

      public StringBuilder report()
    • report

      public ServiceContext report(StringBuilder sb)
    • reportError

      public ServiceContext reportError(StringBuilder sb)
    • reportMemo

      public ServiceContext reportMemo(StringBuilder sb)
    • reportPOI

      public ServiceContext reportPOI(StringBuilder sb)
    • reportPOI

      public ServiceContext reportPOI(NioConfig cfg, StringBuilder sb)