import io.swagger.annotations.ApiOperation;
/**
- * Proxies calls from the front end to the E2 Manager API. All methods answer
- * 502 on failure and wrap the remote details: <blockquote>HTTP server received
- * an invalid response from a server it consulted when acting as a proxy or
- * gateway.</blockquote>
+ * Proxies calls from the front end to the E2 Manager API.
+ *
+ * If a method throws RestClientResponseException, it is handled by
+ * {@link CustomResponseEntityExceptionHandler#handleProxyMethodException(Exception, org.springframework.web.context.request.WebRequest)}
+ * which returns status 502. All other exceptions are handled by Spring which
+ * returns status 500.
*/
@Configuration
@RestController
public static final String CONTROLLER_PATH = DashboardConstants.ENDPOINT_PREFIX + "/e2mgr";
// Endpoints
public static final String HEALTH_METHOD = "health";
- public static final String NODEB_METHOD = "/nodeb";
+ public static final String NODEB_SHUTDOWN_METHOD = "/nodebShutdownPut";
public static final String NODEB_LIST_METHOD = "/nodeb-ids";
public static final String RAN_METHOD = "/ran";
public static final String RESET_METHOD = "/reset";
}
@ApiOperation(value = "Get RAN by name.", response = GetNodebResponse.class)
- @GetMapping(NODEB_METHOD + "/{" + PP_RANNAME + "}")
+ @GetMapping(NODEB_SHUTDOWN_METHOD + "/{" + PP_RANNAME + "}")
@Secured({ DashboardConstants.ROLE_ADMIN, DashboardConstants.ROLE_STANDARD })
public GetNodebResponse getNb(@PathVariable(PP_RANNAME) String ranName) {
logger.debug("getNb {}", ranName);
}
@ApiOperation(value = "Close all connections to the RANs and delete the data from the nodeb-rnib DB.")
- @PutMapping(NODEB_METHOD)
+ @PutMapping(NODEB_SHUTDOWN_METHOD)
@Secured({ DashboardConstants.ROLE_ADMIN })
public void nodebShutdownPut(HttpServletResponse response) {
logger.debug("nodebShutdownPut");