in src/main/java/com/aliyun/oss/internal/ResponseParsers.java [2515:2563]
public static CORSConfiguration parseListBucketCORS(InputStream responseBody) throws ResponseParseException {
try {
Element root = getXmlRootElement(responseBody);
CORSConfiguration result = new CORSConfiguration();
List<Element> corsRuleElems = root.getChildren("CORSRule");
for (Element corsRuleElem : corsRuleElems) {
CORSRule rule = new CORSRule();
List<Element> allowedOriginElems = corsRuleElem.getChildren("AllowedOrigin");
for (Element allowedOriginElement : allowedOriginElems) {
rule.getAllowedOrigins().add(allowedOriginElement.getValue());
}
List<Element> allowedMethodElems = corsRuleElem.getChildren("AllowedMethod");
for (Element allowedMethodElement : allowedMethodElems) {
rule.getAllowedMethods().add(allowedMethodElement.getValue());
}
List<Element> allowedHeaderElems = corsRuleElem.getChildren("AllowedHeader");
for (Element allowedHeaderElement : allowedHeaderElems) {
rule.getAllowedHeaders().add(allowedHeaderElement.getValue());
}
List<Element> exposeHeaderElems = corsRuleElem.getChildren("ExposeHeader");
for (Element exposeHeaderElement : exposeHeaderElems) {
rule.getExposeHeaders().add(exposeHeaderElement.getValue());
}
Element maxAgeSecondsElem = corsRuleElem.getChild("MaxAgeSeconds");
if (maxAgeSecondsElem != null) {
rule.setMaxAgeSeconds(Integer.parseInt(maxAgeSecondsElem.getValue()));
}
result.getCorsRules().add(rule);
}
Element responseVaryElems = root.getChild("ResponseVary");
if (responseVaryElems != null) {
result.setResponseVary(Boolean.parseBoolean(responseVaryElems.getValue()));
}
return result;
} catch (JDOMParseException e) {
throw new ResponseParseException(e.getPartialDocument() + ": " + e.getMessage(), e);
} catch (Exception e) {
throw new ResponseParseException(e.getMessage(), e);
}
}