java.lang.Object
com.bytedesk.call.esl.client.transport.message.EslMessage

public class EslMessage extends Object
Basic FreeSWITCH Event Socket messages from the server are decoded into this data object.

An ESL message is modelled as text lines. A message always has one or more header lines, and optionally may have some body lines.

Header lines are parsed and cached in a map keyed by the EslHeaders.Name enum. A message is always expected to have a "Content-Type" header

Any Body lines are cached in a list.

See Also:
  • Field Details

  • Constructor Details

    • EslMessage

      public EslMessage()
  • Method Details

    • getHeaders

      public Map<EslHeaders.Name,String> getHeaders()
      All the received message headers in a map keyed by EslHeaders.Name. The string mapped value is the parsed content of the header line (ie, it does not include the header name).
      Returns:
      map of header values
    • hasHeader

      public boolean hasHeader(EslHeaders.Name headerName)
      Convenience method
      Parameters:
      headerName - as a EslHeaders.Name
      Returns:
      true if an only if there is a header entry with the supplied header name
    • getHeaderValue

      public String getHeaderValue(EslHeaders.Name headerName)
      Convenience method
      Parameters:
      headerName - as a EslHeaders.Name
      Returns:
      same as getHeaders().get( headerName )
    • hasContentLength

      public boolean hasContentLength()
      Convenience method
      Returns:
      true if and only if a header exists with name "Content-Length"
    • getContentLength

      public Integer getContentLength()
      Convenience method
      Returns:
      integer value of header with name "Content-Length"
    • getContentType

      public String getContentType()
      Convenience method
      Returns:
      header value of header with name "Content-Type"
    • getBodyLines

      public List<String> getBodyLines()
      Any received message body lines
      Returns:
      list with a string for each line received, may be an empty list
    • addHeader

      void addHeader(EslHeaders.Name name, String value)
      Used by the EslFrameDecoder.
    • addBodyLine

      void addBodyLine(String line)
      Used by the EslFrameDecoder
    • isReplyOk

      public boolean isReplyOk()
      Did this message return Reply-Text: +OK
      Returns:
      true if reply equals +OK, false if not.
    • toString

      public String toString()
      Overrides:
      toString in class Object