libcloud-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Brian Metzler (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LIBCLOUD-552) CloudFiles CURL Request uses -X HEAD instead of --head or -I
Date Sat, 10 May 2014 21:58:40 GMT

    [ https://issues.apache.org/jira/browse/LIBCLOUD-552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13993898#comment-13993898
] 

Brian Metzler commented on LIBCLOUD-552:
----------------------------------------

Verified that using -X HEAD with curl, breaks compatibility with Objects with spaces in the
names.

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/libcloud/storage/base.py", line 163, in download_object
    delete_on_failure=delete_on_failure)
  File "/usr/local/lib/python2.7/dist-packages/libcloud/storage/drivers/cloudfiles.py", line
372, in download_object
    success_status_code=httplib.OK)
  File "/usr/local/lib/python2.7/dist-packages/libcloud/storage/base.py", line 502, in _get_object
    driver=self)
libcloud.common.types.LibcloudError: <LibcloudError in <libcloud.storage.drivers.cloudfiles.CloudFilesUSStorageDriver
object at 0x2d49fd0> 'Unexpected status code: 400'>


Just upload a file into a container with a space in the name, then try to download it.  When
attempting to pull the metadata, curl does not know just to pull the header information with
-X HEAD, and attempts to pull the full file.  With --head (-I), this is not the case, and
works properly.

> CloudFiles CURL Request uses -X HEAD instead of --head or -I
> ------------------------------------------------------------
>
>                 Key: LIBCLOUD-552
>                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-552
>             Project: Libcloud
>          Issue Type: Improvement
>          Components: Storage
>    Affects Versions: 0.14.0-beta3
>         Environment: Ubuntu 12.04.4 LTS
> curl 7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23
librtmp/2.3
> Python 2.7.3 and Python 3.2.3
>            Reporter: Brian Metzler
>            Priority: Critical
>
> When running driver.container.download_object(), it attempts to get the metadata of the
object by using 'curl -X HEAD', instead of 'curl -I' or 'curl --head'.  curl does not properly
handle HEAD requests with -X HEAD, as it still attempts to download the full file.
> Just turn on debugging, and check out the time it takes for a standard curl -I versus
curl -X HEAD.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message