When we want to intercept full response body before sending response to client and upstream response body size more then totally specified in proxy_buffers, nginx-clojure deadlocked proccesing response, e.g.:
public class NginxSampleBodyFilter implents NginxJavaResponseBodyFilter {
public doFilter (..) {
if (!isLast) {
// save data in store
return new Object[] {null, null, null}
}
else {
return new Object[] {200, headers, body};
}
}
}
This problem solved by setting chain->buf->pos = chain->buf->last in ngx_http_clojure_body_filter, but this may cause problem which is solved in:
1129712#diff-7fc78c16eb92158b28e5f28bd4ce872b