Source:
public void handleGet(RestRequest restRequest, RestResponseChannel restResponseChannel) { long processingStartTime = System.currentTimeMillis(); long preProcessingTime = 0; handlePrechecks(restRequest, restResponseChannel); try { logger.trace("Handling GET request - {}", restRequest.getUri()); checkAvailable(); RestUtils.SubResource subresource = RestUtils.getBlobSubResource(restRequest); RestRequestMetrics requestMetrics = restRequest.getSSLSession() != null ? frontendMetrics.getBlobSSLMetrics : frontendMetrics.getBlobMetrics; if (subresource != null) { logger.trace("Sub-resource requested: {}", subresource); switch (subresource) { case BlobInfo: requestMetrics = restRequest.getSSLSession() != null ? frontendMetrics.getBlobInfoMetrics : frontendMetrics.getBlobInfoMetrics; break; case UserMetadata: requestMetrics = restRequest.getSSLSession() != null ? frontendMetrics.getUserMetadataSSLMetrics : frontendMetrics.getUserMetadataMetrics; break; } } restRequest.getMetricsTracker().injectMetrics(requestMetrics); GetBlobOptions options = RestUtils.buildGetBlobOptions(restRequest.getArgs(), subresource, GetOption.None); GetCallback routerCallback = new GetCallback(restRequest, restResponseChannel, subresource, options); preProcessingTime = System.currentTimeMillis() - processingStartTime; SecurityProcessRequestCallback securityCallback = new SecurityProcessRequestCallback(restRequest, restResponseChannel, routerCallback); securityService.processRequest(restRequest, securityCallback); } catch (Exception e) { submitResponse(restRequest, restResponseChannel, null, e); } finally { frontendMetrics.getPreProcessingTimeInMs.update(preProcessingTime); } }

Target:
public void handleGet(RestRequest restRequest, RestResponseChannel restResponseChannel) { long processingStartTime = System.currentTimeMillis(); long preProcessingTime = 0; handlePrechecks(restRequest, restResponseChannel); try { logger.trace("Handling GET request - {}", restRequest.getUri()); checkAvailable(); RestUtils.SubResource subresource = RestUtils.getBlobSubResource(restRequest); RestRequestMetrics requestMetrics = restRequest.getSSLSession() != null ? frontendMetrics.getBlobSSLMetrics : frontendMetrics.getBlobMetrics; if (subresource != null) { logger.trace("Sub-resource requested: {}", subresource); switch (subresource) { case BlobInfo: requestMetrics = restRequest.getSSLSession() != null ? frontendMetrics.getBlobInfoSSLMetrics : frontendMetrics.getBlobInfoMetrics; break; case UserMetadata: requestMetrics = restRequest.getSSLSession() != null ? frontendMetrics.getUserMetadataSSLMetrics : frontendMetrics.getUserMetadataMetrics; break; } } restRequest.getMetricsTracker().injectMetrics(requestMetrics); GetBlobOptions options = RestUtils.buildGetBlobOptions(restRequest.getArgs(), subresource, GetOption.None); GetCallback routerCallback = new GetCallback(restRequest, restResponseChannel, subresource, options); preProcessingTime = System.currentTimeMillis() - processingStartTime; SecurityProcessRequestCallback securityCallback = new SecurityProcessRequestCallback(restRequest, restResponseChannel, routerCallback); securityService.processRequest(restRequest, securityCallback); } catch (Exception e) { submitResponse(restRequest, restResponseChannel, null, e); } finally { frontendMetrics.getPreProcessingTimeInMs.update(preProcessingTime); } }