程序包 qhs.interfaces

接口 HTTPResponse


  • public interface HTTPResponse

    HTTPResponse接口的实现类用于构建、发送http答复或推送答复(pushed response)。 以下说明把发送http答复或推送答复等2个名称合并称为答复。 qhs内置有本接口的实现类,开发人员无需开发本接口的实现类。 在服务模块类的invoke(qhs.interfaces.ThreadContext tc)方法的内部,用户代码可以调用 tc.getResponse()tc.getPushedResponse()来 返回一个本接口类型对象。

    • 方法详细资料

      • setStatusCode

        void setStatusCode​(int statusCode)
        对答复设置状态码(status sode)。
        参数:
        statusCode - 状态码。
      • getStatusCode

        int getStatusCode()
        返回答复的状态码。
        返回:
        状态码。
      • getHeaderCount

        int getHeaderCount()
        返回追加到答复的头域的个数。
        返回:
        头域个数。
      • addHeader

        void addHeader​(ResponseHeader header)
        对答复追加一个头域(即答复头域)。
        参数:
        header - 一个qhs.interfaces.ResponseHeader类型对象。用户代码应调用 qhs.sys.ResponseHeaderCreater类创建 qhs.interfaces.ResponseHeader类型对象。
      • getHeader

        ResponseHeader getHeader​(int index)
        返回答复上的、指定索引号的头域。
        参数:
        index - 头域的索引号。索引号为0的头域是第1个头域,索引号为1的头域是第2个头域等,以此类推。
        返回:
        如果index值小于头域个数,就返回一个存放头域的ResponseHeader类型对象,否则抛出异常。
      • deleteHeader

        void deleteHeader​(int index)
        删除答复上的、指定索引号的头域。
        参数:
        index - 头域的索引号。索引号为0的头域是第1个头域,索引号为1的头域是第2个头域等,以此类推。
      • clearHeaders

        void clearHeaders()
        清除所有追加到答复的头域。
      • tryToSendPartOfPayloadBody

        void tryToSendPartOfPayloadBody​(byte[] part,
                                        int startIndex,
                                        int endIndex)
                                 throws java.lang.Exception
        尝试发送构成答复载荷体(payload body of response)的一个部分。 在发送载荷体的一个部分以前,尝试先发送HeaderBlock(HeaderBlock包含有头域)。
        参数:
        part - 存放有载荷体部分的缓存区。
        startIndex - 载荷体部分在缓存区上的开始位置。
        endIndex - 载荷体部分在缓存区上的结束位置。
        抛出:
        java.lang.Exception
      • tryToSendPartOfPayloadBody

        void tryToSendPartOfPayloadBody​(byte[] part)
                                 throws java.lang.Exception
        尝试发送构成答复载荷体的一个部分。在发送载荷体的一个部分以前,尝试先发送HeaderBlock(HeaderBlock包含有头域)。
        参数:
        part - 存放有载荷体部分的缓存区。 调用本方法相当于调用tryToSendPartOfPayloadBody(part, 0, part.length)。
        抛出:
        java.lang.Exception