in aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsHttpServletResponse.java [264:312]
public ServletOutputStream getOutputStream() throws IOException {
return new ServletOutputStream() {
private WriteListener listener;
@Override
public boolean isReady() {
return true;
}
@Override
public void setWriteListener(WriteListener writeListener) {
if (writeListener != null) {
try {
writeListener.onWritePossible();
} catch (IOException e) {
log.error("Output stream is not writable", e);
}
listener = writeListener;
}
}
@Override
public void write(int b) throws IOException {
try {
bodyOutputStream.write(b);
} catch (Exception e) {
log.error("Cannot write to output stream", e);
if (listener != null) {
listener.onError(e);
}
}
}
@Override
public void flush() throws IOException {
flushBuffer();
}
@Override
public void close()
throws IOException {
super.close();
flushBuffer();
}
};
}