java - Why isn't my PrintWriter writing out to by ByteArrayOutputStream? -


i have httpservletresponsewrapper overrides getoutputstream() simple bytearrayoutputstream. whenever pass wrapped response, nothing ever gets written bytearrayoutputstream.

what doing wrong?

the wrapper

private static class responsewrapper extends httpservletresponsewrapper {     private bytearrayoutputstream responsebytes;      public responsewrapper(httpservletresponse response) {         super(response);         responsebytes = new bytearrayoutputstream();     }      public byte[] getbytes() {         return responsebytes.tobytearray();     }      @override     public servletoutputstream getoutputstream() { return new servletoutputstream() {         private writelistener writelistener;         @override         public boolean isready() { return true; }         @override         public void setwritelistener(writelistener writelistener) {             this.writelistener = writelistener;         }         @override         public void write(int b) throws ioexception {             responsebytes.write(b);             optional.ofnullable(writelistener).ifpresent(writelistener::notify);         }     };}      @override     public printwriter getwriter() { return new printwriter(getoutputstream()); } } 

passing around wrapped response

@override public void render(map<string, ?> model, httpservletrequest request,     httpservletresponse response) throws exception {     // create new byte array outputstream , writer uses outputstream      // create new response wrapper , 'hi-jack' outputstream     responsewrapper responsewrapper = new responsewrapper(response);     view.render(model, request, responsewrapper);     byte[] htmlbytes = responsewrapper.getbytes();      if (htmlbytes.length == 0) {         throw new phantompdfexception(             "the rendered html response template empty. "             // empty         );     }     // more code... 

any ideas?

thanks!


Comments

Popular posts from this blog

jOOQ update returning clause with Oracle -

java - Warning equals/hashCode on @Data annotation lombok with inheritance -

java - BasicPathUsageException: Cannot join to attribute of basic type -