Skip to content

Commit

Permalink
Move REST endpoint to v1
Browse files Browse the repository at this point in the history
The current REST implemenation is associated to /v1 path and the /rest
path is a redirect to the /v1.

This would make easier to switch between REST implementations.
  • Loading branch information
fmarco76 committed Jun 6, 2024
1 parent 2d158c6 commit 125edde
Show file tree
Hide file tree
Showing 16 changed files with 67 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
/**
* @author Endi S. Dewata
*/
@ApplicationPath("/rest")
@ApplicationPath("/v1")
public class ACMEApplication extends Application {

public static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ACMEApplication.class);
Expand Down
5 changes: 5 additions & 0 deletions base/acme/webapps/acme/WEB-INF/web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<display-name>Allow somebody with credentials to log in</display-name>
<web-resource-collection>
<url-pattern>/rest/login</url-pattern>
<url-pattern>/v1/login</url-pattern>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
Expand All @@ -26,6 +27,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<display-name>Allow anybody to get login information</display-name>
<web-resource-collection>
<url-pattern>/rest/login</url-pattern>
<url-pattern>/v1/login</url-pattern>
<http-method-omission>POST</http-method-omission>
</web-resource-collection>
<user-data-constraint>
Expand All @@ -38,6 +40,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<web-resource-collection>
<web-resource-name>Logout Service</web-resource-name>
<url-pattern>/rest/logout</url-pattern>
<url-pattern>/v1/logout</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
Expand All @@ -48,6 +51,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<display-name>Allow administrators to enable ACME services</display-name>
<web-resource-collection>
<url-pattern>/rest/enable</url-pattern>
<url-pattern>/v1/enable</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Administrators</role-name>
Expand All @@ -62,6 +66,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<display-name>Allow administrators to disable ACME services</display-name>
<web-resource-collection>
<url-pattern>/rest/disable</url-pattern>
<url-pattern>/v1/disable</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Administrators</role-name>
Expand Down
8 changes: 8 additions & 0 deletions base/ca/shared/webapps/ca/WEB-INF/web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
<web-resource-collection>
<web-resource-name>Account Services</web-resource-name>
<url-pattern>/rest/account/*</url-pattern>
<url-pattern>/v1/account/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -20,6 +21,7 @@
<web-resource-collection>
<web-resource-name>Admin Services</web-resource-name>
<url-pattern>/rest/admin/*</url-pattern>
<url-pattern>/v1/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -33,6 +35,7 @@
<web-resource-collection>
<web-resource-name>Agent Services</web-resource-name>
<url-pattern>/rest/agent/*</url-pattern>
<url-pattern>/v1/agent/*</url-pattern>
<url-pattern>/v2/agent/*</url-pattern>
</web-resource-collection>
<auth-constraint>
Expand All @@ -47,6 +50,7 @@
<web-resource-collection>
<web-resource-name>Audit</web-resource-name>
<url-pattern>/rest/audit/*</url-pattern>
<url-pattern>/v1/audit/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -60,6 +64,7 @@
<web-resource-collection>
<web-resource-name>Authority Services</web-resource-name>
<url-pattern>/rest/authorities/*</url-pattern>
<url-pattern>/v1/authorities/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
Expand All @@ -70,6 +75,7 @@
<web-resource-collection>
<web-resource-name>Security Domain Services</web-resource-name>
<url-pattern>/rest/securityDomain/installToken</url-pattern>
<url-pattern>/v1/securityDomain/installToken</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -83,6 +89,7 @@
<web-resource-collection>
<web-resource-name>Self Tests</web-resource-name>
<url-pattern>/rest/selftests/*</url-pattern>
<url-pattern>/v1/selftests/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -96,6 +103,7 @@
<web-resource-collection>
<web-resource-name>Profile Services</web-resource-name>
<url-pattern>/rest/profiles/*</url-pattern>
<url-pattern>/v1/profiles/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
import org.dogtagpki.server.rest.SessionContextInterceptor;
import org.dogtagpki.server.rest.UserService;

@ApplicationPath("/rest")
@ApplicationPath("/v1")
public class CAApplication extends Application {

public static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(CAApplication.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

import org.dogtagpki.server.rest.PKIExceptionMapper;

@ApplicationPath("/rest")
@ApplicationPath("/v1")
public class ESTApplication extends Application {

public static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ESTApplication.class);
Expand Down
3 changes: 3 additions & 0 deletions base/est/webapps/est/WEB-INF/web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<display-name>Require TLS for all resources</display-name>
<web-resource-collection>
<url-pattern>/rest/*</url-pattern>
<url-pattern>/v1/*</url-pattern>
<http-method>GET</http-method>
</web-resource-collection>
<user-data-constraint>
Expand Down Expand Up @@ -42,6 +43,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<display-name>Require authenticated client for POST resources</display-name>
<web-resource-collection>
<url-pattern>/rest/*</url-pattern>
<url-pattern>/v1/*</url-pattern>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
Expand All @@ -57,6 +59,7 @@ SPDX-License-Identifier: GPL-2.0-or-later
<display-name>Reject unused methods</display-name>
<web-resource-collection>
<url-pattern>/rest/*</url-pattern>
<url-pattern>/v1/*</url-pattern>
<http-method-omission>GET</http-method-omission>
<http-method-omission>POST</http-method-omission>
</web-resource-collection>
Expand Down
7 changes: 6 additions & 1 deletion base/kra/shared/webapps/kra/WEB-INF/web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
<web-resource-collection>
<web-resource-name>Account Services</web-resource-name>
<url-pattern>/rest/account/*</url-pattern>
<url-pattern>/v1/account/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -20,6 +21,7 @@
<web-resource-collection>
<web-resource-name>Admin Services</web-resource-name>
<url-pattern>/rest/admin/*</url-pattern>
<url-pattern>/v1/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -32,7 +34,7 @@
<security-constraint>
<web-resource-collection>
<web-resource-name>Agent Services</web-resource-name>
<url-pattern>/rest/agent/*</url-pattern>
<url-pattern>/v1/agent/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -46,6 +48,7 @@
<web-resource-collection>
<web-resource-name>Audit</web-resource-name>
<url-pattern>/rest/audit/*</url-pattern>
<url-pattern>/v1/audit/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -59,6 +62,7 @@
<web-resource-collection>
<web-resource-name>Security Domain Services</web-resource-name>
<url-pattern>/rest/securityDomain/installToken</url-pattern>
<url-pattern>/v1/securityDomain/installToken</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -72,6 +76,7 @@
<web-resource-collection>
<web-resource-name>Self Tests</web-resource-name>
<url-pattern>/rest/selftests/*</url-pattern>
<url-pattern>/v1/selftests/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import org.dogtagpki.server.rest.SessionContextInterceptor;
import org.dogtagpki.server.rest.UserService;

@ApplicationPath("/rest")
@ApplicationPath("/v1")
public class KRAApplication extends Application {

public static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(KRAApplication.class);
Expand Down
5 changes: 5 additions & 0 deletions base/ocsp/shared/webapps/ocsp/WEB-INF/web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
<web-resource-collection>
<web-resource-name>Account Services</web-resource-name>
<url-pattern>/rest/account/*</url-pattern>
<url-pattern>/v1/account/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -24,6 +25,7 @@
<web-resource-collection>
<web-resource-name>Admin Services</web-resource-name>
<url-pattern>/rest/admin/*</url-pattern>
<url-pattern>/v1/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -37,6 +39,7 @@
<web-resource-collection>
<web-resource-name>Audit</web-resource-name>
<url-pattern>/rest/audit/*</url-pattern>
<url-pattern>/v1/audit/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -50,6 +53,7 @@
<web-resource-collection>
<web-resource-name>Security Domain Services</web-resource-name>
<url-pattern>/rest/securityDomain/installToken</url-pattern>
<url-pattern>/v1/securityDomain/installToken</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -63,6 +67,7 @@
<web-resource-collection>
<web-resource-name>Self Tests</web-resource-name>
<url-pattern>/rest/selftests/*</url-pattern>
<url-pattern>/v1/selftests/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
import org.dogtagpki.server.rest.SessionContextInterceptor;
import org.dogtagpki.server.rest.UserService;

@ApplicationPath("/rest")
@ApplicationPath("/v1")
public class OCSPApplication extends Application {

public static org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(OCSPApplication.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
import javax.ws.rs.ApplicationPath;
import javax.ws.rs.core.Application;

@ApplicationPath("/rest")
@ApplicationPath("/v1")
public class PKIApplication extends Application {

private Set<Object> singletons = new LinkedHashSet<>();
Expand Down
4 changes: 4 additions & 0 deletions base/tks/shared/webapps/tks/WEB-INF/web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
<web-resource-collection>
<web-resource-name>Account Services</web-resource-name>
<url-pattern>/rest/account/*</url-pattern>
<url-pattern>/v1/account/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -24,6 +25,7 @@
<web-resource-collection>
<web-resource-name>Admin Services</web-resource-name>
<url-pattern>/rest/admin/*</url-pattern>
<url-pattern>/v1/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -37,6 +39,7 @@
<web-resource-collection>
<web-resource-name>Audit</web-resource-name>
<url-pattern>/rest/audit/*</url-pattern>
<url-pattern>/v1/audit/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand All @@ -50,6 +53,7 @@
<web-resource-collection>
<web-resource-name>Self Tests</web-resource-name>
<url-pattern>/rest/selftests/*</url-pattern>
<url-pattern>/v1/selftests/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
import org.dogtagpki.server.rest.SessionContextInterceptor;
import org.dogtagpki.server.rest.UserService;

@ApplicationPath("/rest")
@ApplicationPath("/v1")
public class TKSApplication extends Application {

private Set<Object> singletons = new LinkedHashSet<>();
Expand Down
33 changes: 18 additions & 15 deletions base/tomcat-9.0/conf/Catalina/localhost/rewrite.config
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
# ACME
RewriteRule ^/acme/login$ /acme/rest/login
RewriteRule ^/acme/logout$ /acme/rest/logout
RewriteRule ^/acme/enable$ /acme/rest/enable
RewriteRule ^/acme/disable$ /acme/rest/disable
RewriteRule ^/acme/directory$ /acme/rest/directory
RewriteRule ^/acme/new-nonce$ /acme/rest/new-nonce
RewriteRule ^/acme/new-account$ /acme/rest/new-account
RewriteRule ^/acme/new-order$ /acme/rest/new-order
RewriteRule ^/acme/authz/(.*)$ /acme/rest/authz/$1
RewriteRule ^/acme/chall/(.*)$ /acme/rest/chall/$1
RewriteRule ^/acme/order/(.*)$ /acme/rest/order/$1
RewriteRule ^/acme/acct/(.*)$ /acme/rest/acct/$1
RewriteRule ^/acme/cert/(.*)$ /acme/rest/cert/$1
RewriteRule ^/acme/revoke-cert$ /acme/rest/revoke-cert
RewriteRule ^/acme/login$ /acme/v1/login
RewriteRule ^/acme/logout$ /acme/v1/logout
RewriteRule ^/acme/enable$ /acme/v1/enable
RewriteRule ^/acme/disable$ /acme/v1/disable
RewriteRule ^/acme/directory$ /acme/v1/directory
RewriteRule ^/acme/new-nonce$ /acme/v1/new-nonce
RewriteRule ^/acme/new-account$ /acme/v1/new-account
RewriteRule ^/acme/new-order$ /acme/v1/new-order
RewriteRule ^/acme/authz/(.*)$ /acme/v1/authz/$1
RewriteRule ^/acme/chall/(.*)$ /acme/v1/chall/$1
RewriteRule ^/acme/order/(.*)$ /acme/v1/order/$1
RewriteRule ^/acme/acct/(.*)$ /acme/v1/acct/$1
RewriteRule ^/acme/cert/(.*)$ /acme/v1/cert/$1
RewriteRule ^/acme/revoke-cert$ /acme/v1/revoke-cert

# EST
RewriteRule ^/.well-known/est/(.*)$ /est/rest/$1
RewriteRule ^/.well-known/est/(.*)$ /est/v1/$1

# REST APIs
RewriteRule ^/(ca|tps|tks|ocsp|kra)/rest/(.*)$ /$1/v1/$2
Loading

0 comments on commit 125edde

Please sign in to comment.