public GadgetsHandlerApi.JsResponse getJs(GadgetsHandlerApi.JsRequest request)
throws ProcessingException {
verifyBaseParams(request, false);
Set<String> fields = beanFilter.processBeanFields(request.getFields());
JsUri jsUri = createJsUri(request);
Uri servedUri = jsUriManager.makeExternJsUri(jsUri);
String content = null;
Long expireMs = null;
if (isFieldIncluded(fields, "jsContent")) {
JsResponse response;
try {
response = jsPipeline.execute(jsRequestBuilder.build(jsUri, servedUri.getAuthority()));
} catch (JsException e) {
throw new ProcessingException(e.getMessage(), e.getStatusCode());
}
content = response.toJsString();
if (response.isProxyCacheable()) {
expireMs = getDefaultExpiration();
}
} else {
expireMs = getDefaultExpiration();
}
return createJsResponse(request.getUrl(), servedUri, content, fields, expireMs);
}