From 47e20c681fb8a7a4d0d714f38d199e3310c2fab2 Mon Sep 17 00:00:00 2001 From: Arndt Brenschede Date: Sun, 9 Feb 2020 18:55:29 +0100 Subject: [PATCH] http 500->400 for expected errors --- .../src/main/java/btools/server/RouteServer.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/brouter-server/src/main/java/btools/server/RouteServer.java b/brouter-server/src/main/java/btools/server/RouteServer.java index 436228d..f96cd0b 100644 --- a/brouter-server/src/main/java/btools/server/RouteServer.java +++ b/brouter-server/src/main/java/btools/server/RouteServer.java @@ -230,7 +230,7 @@ public class RouteServer extends Thread implements Comparable if ( cr.getErrorMessage() != null ) { - writeHttpHeader(bw, HTTP_STATUS_INTERNAL_SERVER_ERROR); + writeHttpHeader(bw, HTTP_STATUS_BAD_REQUEST); bw.write( cr.getErrorMessage() ); bw.write( "\n" ); } @@ -331,10 +331,9 @@ public class RouteServer extends Thread implements Comparable server.starttime = System.currentTimeMillis(); // kill an old thread if thread limit reached - + cleanupThreadQueue( threadQueue ); - - + if ( debug ) System.out.println( "threadQueue.size()=" + threadQueue.size() ); if ( threadQueue.size() >= maxthreads ) { @@ -345,6 +344,13 @@ public class RouteServer extends Thread implements Comparable long maxage = server.starttime - threadQueue.peek().starttime; long maxWaitTime = 2000L-maxage; if ( debug ) System.out.println( "maxage=" + maxage + " maxWaitTime=" + maxWaitTime ); + if ( debug ) + { + for ( RouteServer t : threadQueue ) + { + System.out.println( "age=" + (server.starttime - t.starttime) ); + } + } if ( maxWaitTime > 0 ) { threadPoolSync.wait( maxWaitTime );