Skip to content

Commit 630e8eb

Browse files
committed
Consistent response declaration
Do not return anything in handler in order for Coldbox's RestHandler to properly get the responseData Update test to validate the rendered content
1 parent 159e7a2 commit 630e8eb

File tree

2 files changed

+27
-13
lines changed

2 files changed

+27
-13
lines changed

handlers/Jwt.cfc

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ component extends="coldbox.system.RestHandler" {
1414
function refreshToken( event, rc, prc ){
1515
// If endpoint not enabled, just 404 it
1616
if ( !variables.jwtService.getSettings().jwt.enableRefreshEndpoint ) {
17-
return event
17+
event
1818
.getResponse()
1919
.setErrorMessage(
2020
"Refresh Token Endpoint Disabled",
2121
404,
2222
"Disabled"
2323
);
24+
return;
2425
}
2526

2627
try {
@@ -32,27 +33,31 @@ component extends="coldbox.system.RestHandler" {
3233
.setData( prc.newTokens )
3334
.addMessage( "Tokens refreshed! The passed in refresh token has been invalidated" );
3435
} catch ( RefreshTokensNotActive e ) {
35-
return event.getResponse().setErrorMessage( "Refresh Tokens Not Active", 404, "Disabled" );
36+
event.getResponse().setErrorMessage( "Refresh Tokens Not Active", 404, "Disabled" );
3637
} catch ( TokenNotFoundException e ) {
37-
return event
38+
event
3839
.getResponse()
3940
.setErrorMessage(
4041
"The refresh token was not passed via the header or the rc. Cannot refresh the unrefreshable!",
4142
400,
4243
"Missing refresh token"
4344
);
4445
} catch ( TokenInvalidException e ) {
45-
prc.response.setErrorMessage(
46-
"Invalid Token - #e.message#",
47-
401,
48-
"Invalid Token"
49-
);
46+
event
47+
.getResponse()
48+
.setErrorMessage(
49+
"Invalid Token - #e.message#",
50+
401,
51+
"Invalid Token"
52+
);
5053
} catch ( TokenExpiredException e ) {
51-
prc.response.setErrorMessage(
52-
"Token Expired - #e.message#",
53-
400,
54-
"Token Expired"
55-
);
54+
event
55+
.getResponse()
56+
.setErrorMessage(
57+
"Token Expired - #e.message#",
58+
400,
59+
"Token Expired"
60+
);
5661
}
5762
}
5863

test-harness/tests/specs/integration/JWTSpec.cfc

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,15 @@ component extends="coldbox.system.testing.BaseTestCase" appMapping="/root" {
145145
404,
146146
event.getResponse().getMessagesString()
147147
);
148+
149+
// Matches the ColdBox RestHandler default response format spec
150+
var jsonResponse = deserializeJSON( event.getRenderedContent() );
151+
expect( jsonResponse ).toHaveLength( 4 );
152+
expect( jsonResponse ).toHaveKey( "data" );
153+
expect( jsonResponse ).toHaveKey( "error" );
154+
expect( jsonResponse ).toHaveKey( "pagination" );
155+
expect( jsonResponse ).toHaveKey( "messages" );
156+
expect( jsonResponse.messages[ 1 ] ).toBe( event.getResponse().getMessagesString() );
148157
} );
149158
} );
150159
given( "An activated endpoint but no refresh tokens passed", function(){

0 commit comments

Comments
 (0)