public void run() { try { HttpResponse response = responseFuture.getHttpResponse().get(); if (response == null) { response = notFoundResponse(); } if (response.containsHeader("x-forwarded-by", "MockServer")) { httpStateHandler.log(new RequestLogEntry(request)); mockServerLogger.info(EXPECTATION_NOT_MATCHED, request, "no expectation for:{}returning response:{}", request, notFoundResponse()); } else { httpStateHandler.log(new RequestResponseLogEntry(request, response)); mockServerLogger.info(FORWARDED_REQUEST, request, "returning response:{}for forwarded request" + NEW_LINE + NEW_LINE + " in json:{}" + NEW_LINE + NEW_LINE + " in curl:{}", response, request, httpRequestToCurlSerializer.toCurl(request, remoteAddress)); } responseWriter.writeResponse(request, response, false); } catch (SocketCommunicationException sce) { returnNotFound(responseWriter, request); } catch (Exception ex) { if (exploratoryHttpProxy && (ex.getCause() instanceof ConnectException || ex.getCause() instanceof SocketConnectionException)) { mockServerLogger.trace("Failed to connect to proxied socket due to exploratory HTTP proxy for: {}falling back to no proxy: {}", request, ex.getCause()); returnNotFound(responseWriter, request); } else { mockServerLogger.error(request, ex, ex.getMessage()); } } } }, synchronous);
public void run() { try { HttpResponse response = responseFuture.getHttpResponse().get(); if (response == null) { response = notFoundResponse(); } responseWriter.writeResponse(request, response, false); if (response.containsHeader("x-forwarded-by", "MockServer")) { httpStateHandler.log(new RequestLogEntry(request)); mockServerLogger.info(EXPECTATION_NOT_MATCHED, request, "no expectation for:{}returning response:{}", request, notFoundResponse()); } else { httpStateHandler.log(new RequestResponseLogEntry(request, response)); mockServerLogger.info(FORWARDED_REQUEST, request, "returning response:{}for forwarded request" + NEW_LINE + NEW_LINE + " in json:{}" + NEW_LINE + NEW_LINE + " in curl:{}", response, request, httpRequestToCurlSerializer.toCurl(request, remoteAddress)); } } catch (SocketCommunicationException sce) { returnNotFound(responseWriter, request); } catch (Exception ex) { if (exploratoryHttpProxy && (ex.getCause() instanceof ConnectException || ex.getCause() instanceof SocketConnectionException)) { mockServerLogger.trace("Failed to connect to proxied socket due to exploratory HTTP proxy for: {}falling back to no proxy: {}", request, ex.getCause()); returnNotFound(responseWriter, request); } else { mockServerLogger.error(request, ex, ex.getMessage()); } } } }, synchronous);