44import com .codahale .metrics .Metered ;
55import com .codahale .metrics .MetricRegistry ;
66import com .codahale .metrics .Timer ;
7+ import com .google .common .base .Joiner ;
8+ import com .google .common .base .MoreObjects ;
79import com .google .common .base .Strings ;
810import com .google .common .net .HttpHeaders ;
911import com .google .common .net .MediaType ;
2931import io .netty .handler .codec .http .HttpResponseStatus ;
3032import io .reactivex .Observable ;
3133import io .vertx .reactivex .core .buffer .Buffer ;
34+ import io .vertx .reactivex .core .http .HttpServerRequest ;
3235import io .vertx .reactivex .ext .web .Cookie ;
3336import java .util .Arrays ;
3437import java .util .HashMap ;
38+ import java .util .Objects ;
3539import java .util .Optional ;
3640import java .util .UUID ;
3741import org .apache .commons .lang3 .exception .ExceptionUtils ;
@@ -251,6 +255,8 @@ public Router getRouter(Router pRouter) {
251255 if (isSecurityEnable () && service .isSecure ()) {
252256
253257 if (routingContext .user () == null ) {
258+ getLog ().error (() -> "Security on this operation is enabled. But, no user found. Please check, if you are passing correct auth credentials:" + service .getOperationId ());
259+ getLog ().trace (() -> dumpRequest (routingContext .request ()));
254260 routingContext .fail (401 );
255261 return ;
256262 }
@@ -265,12 +271,13 @@ public Router getRouter(Router pRouter) {
265271 .firstElement ()
266272 .subscribe ((success ) -> {
267273 getLog ().trace (() -> "Request is authorized. Processing Message:" + service .getOperationId ());
274+ getLog ().trace (() -> dumpRequest (routingContext .request ()));
268275 process (routingContext , service .getServiceUniqueId ());
269276 }, (err ) -> {
270277 getLog ().error (() -> "Error processing serive message" , err );
271278 routingContext .fail (err );
272279 }, () -> {
273- getLog ().warn (() -> "You are not authorized to access service:" + service .getOperationId () + ":" + routingContext . toString () );
280+ getLog ().warn (() -> "You are not authorized to access service:" + service .getOperationId ());
274281 routingContext .fail (401 );
275282 });
276283 } else {
@@ -280,6 +287,7 @@ public Router getRouter(Router pRouter) {
280287
281288 } else {
282289 getLog ().warn ("Security disabled for " + service .getServiceUniqueId ());
290+ getLog ().trace (() -> dumpRequest (routingContext .request ()));
283291 process (routingContext , service .getServiceUniqueId ());
284292 }
285293 });
@@ -291,6 +299,7 @@ public Router getRouter(Router pRouter) {
291299 }
292300
293301 getLog ().debug (() -> "API Failure Handle called:" + service .getOperationId () + ":" + generateErrorResponse (routingContext ));
302+ getLog ().trace (() -> dumpRequest (routingContext .request ()));
294303
295304 routingContext
296305 .response ()
@@ -304,6 +313,7 @@ public Router getRouter(Router pRouter) {
304313 }
305314
306315 getLog ().debug (() -> "API Validation Failer Handle called:" + service .getOperationId () + ":" + generateErrorResponse (routingContext ));
316+ getLog ().trace (() -> dumpRequest (routingContext .request ()));
307317
308318 routingContext
309319 .response ()
@@ -313,6 +323,7 @@ public Router getRouter(Router pRouter) {
313323 apiFactory .setNotImplementedFailureHandler ((routingContext ) -> {
314324
315325 getLog ().debug (() -> "API not implemented:" + service .getOperationId () + ":" + generateErrorResponse (routingContext ));
326+ getLog ().trace (() -> dumpRequest (routingContext .request ()));
316327
317328 routingContext
318329 .response ()
@@ -325,6 +336,15 @@ public Router getRouter(Router pRouter) {
325336 return apiFactory .getRouter ();
326337 }
327338
339+ protected String dumpRequest (HttpServerRequest pRequest ) {
340+ return MoreObjects
341+ .toStringHelper (pRequest )
342+ .add ("RequestPath" , pRequest .absoluteURI ())
343+ .add ("Headers" , Joiner .on ("," ).join (pRequest .headers ().entries ().stream ().map ((e ) -> e .getKey () + ":" + e .getValue ()).collect (Collectors .toList ())))
344+ .add ("QueryParam" , pRequest .query ())
345+ .toString ();
346+ }
347+
328348 protected String generateErrorResponse (RoutingContext pContext ) {
329349 return Optional
330350 .ofNullable (pContext .failure ())
0 commit comments