HttpResponseWriter writer;

排查下来,发现是writer没有调用Begin 这个函数。。。。。。

吐槽下,这里的api设计的真的有点反人类。。。

    enum State {
        SEND_BEGIN,
        SEND_HEADER,
        SEND_BODY,
        SEND_CHUNKED,
        SEND_CHUNKED_END,
        SEND_END,
    } state;
....

    // Begin -> End
    // Begin -> WriteResponse -> End
    // Begin -> WriteStatus -> WriteHeader -> WriteBody -> End
    // Begin -> EndHeaders("Content-Length", content_length) -> WriteBody -> WriteBody -> ... -> End
    // Begin -> EndHeaders("Transfer-Encoding", "chunked") -> WriteChunked -> WriteChunked -> ... -> End

    int Begin() {
        state = SEND_BEGIN;
        return 0;
    }

更多推荐