|
@@ -19,6 +19,7 @@ public class WebServer {
|
|
|
private int nextID = 1;
|
|
|
private ConcurrentHashMap<Integer, Transfer> uploads = new ConcurrentHashMap<>();
|
|
|
private Timer t=new Timer("cleanup",true);
|
|
|
+ private final static int BS=2014;
|
|
|
|
|
|
public WebServer(Params params) {
|
|
|
this.params = params;
|
|
@@ -32,13 +33,24 @@ public class WebServer {
|
|
|
staticFiles.location("/webroot");
|
|
|
get("/zero", (req, res) -> {
|
|
|
var os = res.raw().getOutputStream();
|
|
|
- var ba = new byte[1024];
|
|
|
- while (true)
|
|
|
- os.write(ba);
|
|
|
+ var ba = new byte[BS];
|
|
|
+ var lengthParam=req.queryParams("length");
|
|
|
+ if(lengthParam!=null) {
|
|
|
+ res.header("Content-Length",lengthParam);
|
|
|
+ int length=Integer.parseInt(lengthParam);
|
|
|
+ for(;length>BS;length-=BS)
|
|
|
+ os.write(ba);
|
|
|
+ os.write(ba,0,length);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ while (true)
|
|
|
+ os.write(ba);
|
|
|
+ }
|
|
|
+ return "";
|
|
|
});
|
|
|
post("/null", (req, res) -> {
|
|
|
var is = req.raw().getInputStream();
|
|
|
- var ba = new byte[1024];
|
|
|
+ var ba = new byte[BS];
|
|
|
while (is.read(ba)!=-1);
|
|
|
res.status(200);
|
|
|
return "";
|