use of org.ballerinalang.jvm.values.api.BMap in project product-microgateway by wso2.
the class MGWJWTGeneratorInvoker method getRetrievedClaims.
public static BMap<String, Object> getRetrievedClaims(BMap<String, Object> authContext) {
try {
List<ClaimDTO> claimList = abstractMGWClaimRetriever.retrieveClaims(convertBMapToMap(authContext));
if (claimList == null) {
return null;
}
BPackage packageId = new BPackage("wso2", "gateway", "3.2.1");
BMap<String, Object> bMap = BValueCreator.createRecordValue(packageId, "RetrievedUserClaimsListDTO");
bMap.put("count", claimList.size());
BArray bArray = (BArray) bMap.get("list");
for (Object claimDTO : claimList) {
bArray.append(BValueCreator.createRecordValue(packageId, "ClaimDTO", (Map<String, Object>) claimDTO));
}
return bMap;
// Not to break the flow if an exception occured during claim retrieval
} catch (Exception e) {
log.error("Error while retrieving user claims from remote url.", e);
return null;
}
}
use of org.ballerinalang.jvm.values.api.BMap in project product-microgateway by wso2.
the class Request method getQueryParamValue.
/**
* Gets the query param value associated with the given key.
*
* @param key Represents the query param key.
* @return Returns the query param value associated with the given key as a string. If multiple param values are
* present, then the first value is returned. Null is returned if no key is found.
*/
public String getQueryParamValue(String key) {
BMap mapValue = getNativeQueryParams();
BArray arrayValue = ((MapValue) mapValue).getArrayValue(key);
if (arrayValue != null) {
return arrayValue.get(0).toString();
}
return null;
}
use of org.ballerinalang.jvm.values.api.BMap in project product-microgateway by wso2.
the class Request method getPathParams.
/**
* Gets the path parameters of the request as a map.
*
* @return {@link Map} Map of path parameters. Map with size 0 is returned if path parameters does not present.
*/
public Map<String, String> getPathParams() {
Map<String, String> pathParamMap = new HashMap<>();
Map<String, Object> attributes = Utils.getInvocationContextAttributes();
if (attributes.containsKey(Constants.REQUEST_PATH_PARAMS)) {
BMap mapValues = (BMap) attributes.get(Constants.REQUEST_PATH_PARAMS);
pathParamMap = InterceptorUtils.convertBMapToMap(mapValues);
}
return pathParamMap;
}
use of org.ballerinalang.jvm.values.api.BMap in project product-microgateway by wso2.
the class Request method getQueryParamValues.
/**
* Gets all the query param values associated with the given key.
*
* @param key Represents the query param key.
* @return Returns all the query param values associated with the given key as a `String[]`.
* Null is returned if no key is found.
*/
public String[] getQueryParamValues(String key) {
BMap mapValue = getNativeQueryParams();
BArray arrayValue = ((MapValue) mapValue).getArrayValue(key);
if (arrayValue != null) {
return arrayValue.getStringArray();
}
return null;
}
use of org.ballerinalang.jvm.values.api.BMap in project product-microgateway by wso2.
the class Utils method addDataToContextAttributes.
/**
* Add the data to invocation context attributes map as key, value pairs.
*
* @param key The string type key used in the attribute map.
* @param value The value to be inserted in to the attribute map.
*/
public static void addDataToContextAttributes(String key, Object value) {
BMap attributesMap = (BMap) GetInvocationContext.getInvocationContext().get("attributes");
attributesMap.put(key, value);
}
Aggregations