@Override public void initScriptVariables(JsEngine engine, Bindings bindings) throws ScriptException { Request request = Request.tryGetCurrent(); if(null != request) { //todo: request and response bindings.put("$request", request); } } }
protected AccessToken getAccessToken() { Request request = Request.tryGetCurrent(); if (request == null) { return null; } AccessToken at = tokenFetcher.getAccessToken(request); return at; }
public static AccessToken getAccessToken() { Request request = Request.tryGetCurrent(); return null == request ? null : getAccessToken(request); }
public static String formatApiEndPoint(String apiEndPoint) { if (apiEndPoint.contains("{context}")) { String contextPath = Request.tryGetCurrent().getServletRequest().getContextPath(); apiEndPoint = apiEndPoint.replace("{context}", Strings.trimStart(contextPath, '/')); //apiEndPoint=apiEndPoint.replace("//", "/"); } if (apiEndPoint.contains("~")) { HttpServletRequest request = Request.tryGetCurrent().getServletRequest(); apiEndPoint = apiEndPoint.replace("~", Strings.format("{0}://{1}:{2}", request.getScheme(), curServerLocalIp(), request.getLocalPort())); } if (apiEndPoint.startsWith("/")) { HttpServletRequest request = Request.tryGetCurrent().getServletRequest(); apiEndPoint = Strings.format("{0}://{1}:{2}", request.getScheme(), "127.0.0.1", request.getLocalPort()) + apiEndPoint; } if (Strings.endsWith(apiEndPoint, "/")) { apiEndPoint = Strings.trimEnd(apiEndPoint, '/'); } return apiEndPoint; }
private boolean checkProfile(MApiOperation o) { if(null == o.getRoute()) { return false; } String[] profiles = tryGetProfiles(o); if(null != profiles) { Request request = Request.tryGetCurrent(); if (null != request) { String requestProfile = request.getParameter("profile"); if (Strings.isNotBlank(requestProfile)) { if(!Arrays2.containsAny(profiles, requestProfile)) { return true; } } } } return false; }
@Override public Object apply(ActionParams params) { MApiModel am = api.getMetadata().getModel(model.getName()); ModelExecutorContext context = new SimpleModelExecutorContext(api, dao, am, em, params); ModelDeleteExecutor executor = newDeleteExecutor(context); Object id = id(params); DeleteOptions options = cascadeDelete ? getWithId(params, 0) : null; if (!cascadeDelete) { Request request = Request.tryGetCurrent(); String param = request.getParameter("cascade_delete"); if (!Strings.isEmpty(param) && Converts.toBoolean(param)) { throw new BadRequestException("Cascade delete not supported by this operation, check parameter 'cascade_delete'!"); } } DeleteOneResult result = executor.deleteOne(id, options); if (null != result.entity) { return ApiResponse.of(result.entity); } else { if (result.success) { return ApiResponse.NO_CONTENT; } else { throw new NotFoundException(am.getName() + " '" + id.toString() + "' not found"); } } }