Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.6.2
-
None
Description
Atmos does not return a location when creating zero-length blobs and jclouds fails when looking for a non-existent location header. Tested against Atmos Online:
noformat
- >> POST https://api.atmosonline.com/rest/namespace/xxxxxxxxxxxxxxxxxxxxx/remote-file HTTP/1.1
- >> Expect: 100-continue
- >> Accept: /
- >> x-emc-wschecksum: MD5/0/D41D8CD98F00B204E9800998ECF8427E
- >> x-emc-uid: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- >> Date: Tue, 08 Oct 2013 21:38:51 GMT
- >> x-emc-signature: xxxxxxxxxxxxxxxxxxxxxxxxxxxx
- >> Content-Type: application/unknown
- >> Content-Length: 0
- >> Content-MD5: 1B2M2Y8AsgTpgAmY7PhCfg==
- << HTTP/1.1 201 null
- << Date: Tue, 08 Oct 2013 21:38:51 GMT
- << Connection: close
- << Server: Apache
Exception in thread "main" org.jclouds.http.HttpResponseException: no uri in headers or content
at org.jclouds.http.functions.ParseURIFromListOrLocationHeaderIf20x.apply(ParseURIFromListOrLocationHeaderIf20x.java:76)
at org.jclouds.http.functions.ParseURIFromListOrLocationHeaderIf20x.apply(ParseURIFromListOrLocationHeaderIf20x.java:42)
at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.invoke(InvokeSyncToAsyncHttpMethod.java:131)
at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:97)
at org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:58)
at org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:157)
at org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:124)
at com.sun.proxy.$Proxy52.createFile(Unknown Source)
at org.jclouds.atmos.util.AtmosUtils.putBlob(AtmosUtils.java:78)
at org.jclouds.atmos.blobstore.AtmosBlobStore.putBlob(AtmosBlobStore.java:217)
at org.jclouds.atmos.blobstore.AtmosBlobStore.putBlob(AtmosBlobStore.java:228)
noformat