Skip to content

Commit

Permalink
Simplify dispatchRequest() by adding defaultResponse() as a route
Browse files Browse the repository at this point in the history
  • Loading branch information
hugithordarson committed Jun 17, 2024
1 parent caab3e8 commit 356454d
Showing 1 changed file with 7 additions and 14 deletions.
21 changes: 7 additions & 14 deletions ng-appserver/src/main/java/ng/appserver/NGApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ public NGApplication() {
private NGRouteTable createSystemRoutes() {
// Then we add the "system route table"
final NGRouteTable systemRoutes = new NGRouteTable( "System routes" );
systemRoutes.map( "/", this::defaultResponse );
systemRoutes.map( NGComponentRequestHandler.DEFAULT_PATH + "*", new NGComponentRequestHandler() );
systemRoutes.map( NGResourceRequestHandler.DEFAULT_PATH + "*", new NGResourceRequestHandler() );
systemRoutes.map( NGResourceRequestHandlerDynamic.DEFAULT_PATH + "*", new NGResourceRequestHandlerDynamic() );
Expand Down Expand Up @@ -386,24 +387,16 @@ public NGResponse dispatchRequest( final NGRequest request ) {
try {
rewriteURL( request );

final NGResponse response;
final NGRequestHandler requestHandler = handlerForURL( request.uri() );

// FIXME: Handle the case of no default request handler gracefully // Hugi 2021-12-29
if( request.parsedURI().length() == 0 ) {
response = defaultResponse( request ).generateResponse();
if( requestHandler == null ) {
return noHandlerResponse( request );
}
else {
final NGRequestHandler requestHandler = handlerForURL( request.uri() );

if( requestHandler == null ) {
return noHandlerResponse( request );
}

response = requestHandler.handleRequest( request );
final NGResponse response = requestHandler.handleRequest( request );

if( response == null ) {
throw new NullPointerException( String.format( "'%s' returned a null response. That's just rude.", requestHandler.getClass().getName() ) );
}
if( response == null ) {
throw new NullPointerException( String.format( "'%s' returned a null response. That's just rude.", requestHandler.getClass().getName() ) );
}

// FIXME: Doesn't feel like the place to set the session ID in the response, but let's do it anyway :D // Hugi 2023-01-10
Expand Down

0 comments on commit 356454d

Please sign in to comment.