Skip to content

Commit

Permalink
add session/:sessionId/buffer to json server
Browse files Browse the repository at this point in the history
  • Loading branch information
willr3 committed Sep 27, 2024
1 parent ba9b08c commit 7cba3b0
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 1 deletion.
9 changes: 9 additions & 0 deletions src/main/java/io/hyperfoil/tools/qdup/JsonServer.java
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,15 @@ public void start(){
e.printStackTrace();
}
});
router.get("/session/:sessionId/buffer").handler(rc->{
String cmdUid = rc.request().getParam("sessionId");
Context found = dispatcher.getContext(cmdUid);
if(found != null){
rc.response().setStatusCode(200).end(found.getShell().bufferJson());
}else{
rc.response().setStatusCode(400).end("could not find session "+cmdUid);
}
});
router.post("/session/:sessionId/parse").handler(rc->{
String cmdUid = rc.request().getParam("sessionId");
Context found = dispatcher.getContext(cmdUid);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -658,6 +658,9 @@ private void lineConsumers(String line) {
}
}

public String bufferJson(){
return sessionStreams.jsonBuffers();
}
public String peekOutput() {
return sessionStreams.currentOutput();
}
Expand Down
20 changes: 19 additions & 1 deletion src/main/java/io/hyperfoil/tools/qdup/stream/SessionStreams.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package io.hyperfoil.tools.qdup.stream;

import io.hyperfoil.tools.yaup.json.Json;

import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
Expand Down Expand Up @@ -105,7 +107,23 @@ public void write(byte b[], int off, int len) throws IOException {
super.write(b,off,len);
//escapeFilteredStream.write(b,off,len);
}

public String jsonBuffers(){
Json rtrn = new Json();
rtrn.set("escapeFiltered",new Json());
rtrn.getJson("escapeFiltered").set("buffer",escapeFilteredStream.getBuffered().replaceAll("[\r\n]","\\\\n"));
rtrn.getJson("escapeFiltered").set("suffixStream",new Json());
rtrn.getJson("escapeFiltered").getJson("suffixStream").set("buffer",suffixStream.getBuffered().replaceAll("[\r\n]","\\\\n"));
rtrn.getJson("escapeFiltered").getJson("suffixStream").set("filteredStream",new Json());
rtrn.getJson("escapeFiltered").getJson("suffixStream").getJson("filteredStream").set("buffer",filteredStream.getBuffered().replaceAll("[\r\n]","\\\\n"));
rtrn.getJson("escapeFiltered").getJson("suffixStream").getJson("filteredStream").set("lineEmitting",new Json());
rtrn.getJson("escapeFiltered").getJson("suffixStream").getJson("filteredStream").getJson("lineEmitting").set("buffer",lineEmittingStream.getBuffered().replaceAll("[\r\n]","\\\\n"));
rtrn.getJson("escapeFiltered").getJson("suffixStream").getJson("filteredStream").set("shStream",new Json());
rtrn.getJson("escapeFiltered").getJson("suffixStream").getJson("filteredStream").getJson("shStream").set("buffer",shStream.toString().replaceAll("[\r\n]","\\\\n"));
rtrn.getJson("escapeFiltered").getJson("suffixStream").set("promptStream",new Json());
rtrn.getJson("escapeFiltered").getJson("suffixStream").getJson("promptStream").set("buffer",promptStream.getBuffered().replaceAll("[\r\n]","\\\\n"));

return rtrn.toString();
}
public String printBuffers(){
StringBuilder sb = new StringBuilder();
sb.append(getName()+"\n");
Expand Down

0 comments on commit 7cba3b0

Please sign in to comment.