m.put(ReservedKeys._locale.name(), request.getLocale()); m.put("method", request.getMethod().toUpperCase()); m.put("queryString", request.getQueryString() == null ? "" : request.getQueryString());
public void setStoredValue(String key, Object value) { if (key == null || value == null) { throw new IllegalArgumentException("key and value must be non-null"); } for (int i = 0; i < ReservedKeys.values().length; i++) { String rKey = ReservedKeys.values()[i].name(); if (rKey.equals(key)) { throw new IllegalArgumentException("Cannot change the value of a reserved key: " + rKey); } } setRequestValue(key, value); }
requestGetter.setResponse(res); requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestEntityReference.name(), view.getEntityReference().toString()); requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestOrigin.name(), RequestStorage.RequestOrigin.REST.name()); requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestActive.name(), true); requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestEntityReference.name(), handledReference);
requestGetter.setResponse(res); requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestEntityReference.name(), view.getEntityReference().toString()); requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestOrigin.name(), RequestStorage.RequestOrigin.REST.name()); requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestActive.name(), true); requestStorage.setRequestValue(RequestStorage.ReservedKeys._requestEntityReference.name(), handledReference);
protected Object getRequestValue(String key) { Object value = getInternalMap().get(key); if (value == null) { value = getAllRequestValues().get(key); } if (value == null) { // perhaps get one of the reserved values if (ReservedKeys._locale.name().equals(key)) { // _locale value = Locale.getDefault(); } else if (ReservedKeys._requestEntityReference.name().equals(key)) { // _requestEntityReference value = "/describe"; // default if not known } else if (ReservedKeys._requestActive.name().equals(key)) { // _requestActive if (requestGetter.getRequest() == null) { value = false; } else { value = true; } } else if (ReservedKeys._requestOrigin.name().equals(key)) { // _requestOrigin value = RequestOrigin.INTERNAL.name(); } } return value; }
/** * Checks to see if a request is internal and therefore can bypass some or all security * @param reference an entity reference string * @return true if internal OR false if external or REST */ public boolean isEntityRequestInternal(String reference) { boolean internal = false; String origin = (String) requestStorage.getStoredValue(RequestStorage.ReservedKeys._requestOrigin.name()); if (RequestStorage.RequestOrigin.INTERNAL.name().equals(origin)) { internal = true; } else { if (reference != null) { String ref = (String) requestStorage.getStoredValue(RequestStorage.ReservedKeys._requestEntityReference.name()); if (reference.equals(ref)) { // if this ref was the one requested from outside it is definitely not internal internal = false; } else { internal = true; } } } return internal; }