Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

For simple use cases, the HttpClientSupport class includes a number of toString methods that can translate the entire response into a string using appropriate character set handling and while enforcing size limits. This supports chunked responses for which the server doesn't know the actual size ahead of time, which is common with web services.

...

Code Block
languagexml
<ResponseMapping>
	<Script>
	<![CDATA[
	var HashSetArrayList = Java.type("java.util.HashSetArrayList");
	var HttpClientSupport = Java.type("net.shibboleth.utilities.java.supportshared.httpclient.HttpClientSupport");
	var IdPAttribute = Java.type("net.shibboleth.idp.attribute.IdPAttribute");
	var StringAttributeValue = Java.type("net.shibboleth.idp.attribute.StringAttributeValue");
 
	// Limits length to 64k
	var body = HttpClientSupport.toString(response.getEntity(), "UTF-8", 65536);
	var result = JSON.parse(body);

	var attr = new IdPAttribute("grouperGroup");
	var values = new HashSetArrayList();
	if (result.wsGroups != null) {
		for (var i=0; i<result.wsGroups.length; i++) {
			values.add(new StringAttributeValue(result.wsGroups[i].name));
		}
	}
	attr.setValues(values);
	]]>
	</Script>
</ResponseMapping>

...