How should I record `HttpServletRequest`s that are sent to `doPost` in an `HttpServlet` for later playback?

前端 未结 3 923
别那么骄傲
别那么骄傲 2020-12-20 16:21

I want to dump some requests (of type javax.servlet.http.HttpServletRequest) into a file and then later replay them from the file, so that I can test future cha

3条回答
  •  南方客
    南方客 (楼主)
    2020-12-20 17:08

    In my particular case, I eventually solved the problem by using a CodedOutputStream to write the com.google.protobuf.GeneratedMessage (foo below):

    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    CodedOutputStream cos = CodedOutputStream.newInstance(bos);
    foo.writeTo(cos);
    

    This can be read in using a CodedInputStream with something like:

    byte[] ba = readBytesFromOutputFile();
    CodedInputStream cis = CodedInputStream.newInstance(ba);
    

    The CodedInputStream can then be passed to a message builder to complete the deserialization.

提交回复
热议问题