使用Rackspace Cloud Java API设置Access-Control-Allow-Origin

时间:2013-05-02 14:59:37

标签: rackspace-cloud rackspace

我正在使用Java API将文件上传到Rackspace Cloud。我试图弄清楚如何在我上传的文件上设置标题“Access-Control-Allow-Origin”。我找到了另一个链接,讨论如何使用Python绑定设置此标头:

Setting Access-Control-Allow-Origin (CORS) in the Rackspace Cloud Files Python API

是否有与Java Binding类似的API?我似乎找不到它。

谢谢!

1 个答案:

答案 0 :(得分:1)

我不是一个Java人,但根据this,看起来需要在容器上设置元数据,密钥为X-Container-Meta-Access-Control-Allow-Origin,并且值为空格分隔列表允许来源。

因此,您需要使用用于为jclouds API设置容器元数据的任何函数。

看来这可以在创作时完成(基于this code的改编):

CreateContainerOptions options = CreateContainerOptions.Builder
            .withMetadata(ImmutableMap.of("Access-Control-Allow-Origin", "*"));

swift.getApi().createContainer(Constants.CONTAINER, options);

浏览文档,我在org.jclouds.openstack.swift.CommonSwiftClient中找到了以下函数:

boolean setContainerMetadata(String container, Map<String,String> containerMetadata)

因此看起来你应该能够通过以下方式做你正在寻找的事情:

swift.getApi().setContainerMetadata(container, ImmutableMap.of("Access-Control-Allow-Origin", "*"));