[ckan-dev] CORS issue whe using CKAN API for creating resource

Mike Sinclair mm.sinclair08 at gmail.com
Wed Apr 27 11:50:45 UTC 2016


If you think it is a CORS problem, just for testing purposes in nginx you
can add the below to the server block in
/etc/nginx/sites-enabled/ckan_default and then reload nginx.

    add_header 'Access-Control-Allow-Origin' '*';
    add_header 'Access-Control-Allow-Methods' '*';

If you are loading binary files from a windows environment that can cause
issues. You will need to open it as a binary type.
files={'upload': open(file, "rb")}




On Wed, Apr 27, 2016 at 4:36 AM, <lucia.espona at wsl.ch> wrote:

> Hi Mike
>
> My first idea was that it was because of binary data but I have done
> further tests and some images get successfully uploaded and now one plain
> text xml fails.
> This xml had an "error", there was a typo that make it not compliant with
> the defined xsd, I fixed that in the xml and now it gets upload.
> About the JPEG that fails, I cannot se the issue with it, through the user
> interface got properly upload and displayed (I attached it in case it is of
> some help).
> Maybe the file content cause some issue in the FileStore and the response
> containing the error doesn't add the CORS headers.
>
> I would be happy to try your suggested alternative "add the headers
> manually to the nginx config". Unfortunately I am not familiar with that,
> could you please give me some indications on how to do it?
>
> Thanks,
> Lucia
>
> _________________________________________________________
> Dr. Lucia Espona Pernas
>
> Swiss Federal Institute for Forest, Snow and Landscape Research WSL
> Hauptgebäaude Labortrakt (HL D34)
> Zürcherstrasse 111
> 8903 Birmensdorf
> Switzerland
>
> +41 44 739 28 71 phone direct
> +41 44 739 21 11 reception
>
> www.wsl.ch
>
> -----"ckan-dev" <ckan-dev-bounces at lists.okfn.org> wrote: -----
> To: CKAN Development Discussions <ckan-dev at lists.okfn.org>
> From: Mike Sinclair
> Sent by: "ckan-dev"
> Date: 27.04.2016 12:58
> Subject: Re: [ckan-dev] CORS issue whe using CKAN API for creating resource
>
>
> Hi Lucia,
>
> Does this happen to fail on only binary type data? Also, have you tried to
> manually add the headers to the nginx config?
>
> Mike
>>
> On Wed, Apr 27, 2016 at 3:47 AM, <lucia.espona at wsl.ch> wrote:
>
>> Dear all
>>
>> I am new to CKAN and I have an issue I am not able to solve.
>>
>> In the configuration file (.ini) of my CKAN instance (2.5.2) I have set
>> the CORS configuration as follows:
>>
>> ckan.cors.origin_allow_all = true
>>
>> I am using the FileStore API for creating resources and SOMETIMES the
>> CORS headers are missing in the response and the request fails:
>>
>> "Cross-Origin Request Blocked: The Same Origin Policy disallows reading
>> the remote resource at http://ckan.wsl.ch/api/action/resource_create.
>> (Reason: CORS header 'Access-Control-Allow-Origin' missing)."
>>
>> You can find below two example request I performed, one successful and
>> the other failed, I haven't been able to identify the reason why. Could
>> someone give me a hint how to fix this?
>>
>> Many thanks in advance and best regards,
>> Lucia
>>
>> *********************************************************************
>> ****** Successful Request (file uploaded is a "plain text" xml)******
>>
>> *Request: http://ckan.wsl.ch/api/action/resource_create
>> <http://ckan.wsl.ch/api/action/resource_create>*
>>    Header
>>     Accept    application/json, text/javascript, */*; q=0.01
>>     Accept-Encoding    gzip, deflate
>>     Accept-Language    en-GB,en;q=0.5
>>     Content-Length    2487139
>>     Content-Type    multipart/form-data;
>> boundary=---------------------------32069285045071
>>     Host    ckan.wsl.ch
>>     Origin    http://envidat01.wsl.ch:8080
>>     Referer    http://envidat01.wsl.ch:8080/MetadataUpload/
>>     User-Agent    Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0)
>> Gecko/20100101 Firefox/45.0
>>     X-CKAN-API-Key    f1083246-********b3b7bd16
>>
>>    form-data;
>>            name="package_id" 6672445a-3fd7-40af-a47e-690c9b8c6b39
>>            name="id" logo
>>            name="url"
>>            name="format" PNG
>>            name="mimetype" image/png
>>            name="name" logo
>>            name="description" Resource Created from MetadataUpload
>> Webapp using the FileStore API
>>            name="upload";
>>
>>    filename="logo.png" Content-Type: image/png [....]
>>
>> *Response Headers:*
>>
>>
>>
>> *    Access-Control-Allow-Head...    X-CKAN-API-KEY, Authorization,
>> Content-Type    Access-Control-Allow-Meth...    POST, PUT, GET, DELETE,
>> OPTIONS    Access-Control-Allow-Orig...    **
>>     Cache-Control    no-cache
>>     Connection    Keep-Alive
>>     Content-Length    836
>>     Content-Type    application/json;charset=utf-8
>>     Date    Wed, 27 Apr 2016 08:00:51 GMT
>>     Keep-Alive    timeout=5, max=96
>>     Pragma    no-cache
>>     Server    Apache/2.4.6 (CentOS) mod_wsgi/3.4 Python/2.7.5
>>
>>
>>
>>
>> *********************************************************************
>> ********** FAILED request (file uploaded is a "binary" png) *********
>> *Request: http://ckan.wsl.ch/api/action/resource_create
>> <http://ckan.wsl.ch/api/action/resource_create>*
>>    Header
>>      Accept    application/json, text/javascript, */*; q=0.01
>>       Accept-Encoding gzip, deflate
>>       Accept-Language  en-GB,en;q=0.5
>>       Content-Length   27875
>>       Content-Type    multipart/form-data;
>> boundary=---------------------------16263549323323
>>       Host    ckan.wsl.ch
>>       Origin  http://envidat01.wsl.ch:8080
>>       Referer http://envidat01.wsl.ch:8080/MetadataUpload/
>>       User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0)
>> Gecko/20100101 Firefox/45.0
>>       X-CKAN-API-Key f108324**************3b7bd16
>>
>>    form-data;
>>            name="package_id" 6672445a-3fd7-40af-a47e-690c9b8c6b39
>>            name="id" logo
>>            name="url"
>>            name="format" PNG
>>            name="mimetype" image/png
>>            name="name" logo
>>            name="description" Resource Created from MetadataUpload
>> Webapp using the FileStore API
>>            name="upload";
>>
>>    filename="logo.png" Content-Type: image/png [....]
>>
>> *Response Headers:*
>>
>> Connection    close
>> Content-Length 175
>> Content-Type   text/html; charset=utf8
>> Date    Wed, 27 Apr 2016 08:02:48 GMT
>> Server  Apache/2.4.6 (CentOS) mod_wsgi/3.4 Python/2.7.5
>>
>>
>>
>>
>>
>> _________________________________________________________
>> Dr. Lucia Espona Pernas
>>
>> Swiss Federal Institute for Forest, Snow and Landscape Research WSL
>> Hauptgebäaude Labortrakt (HL D34)
>> Zürcherstrasse 111
>> 8903 Birmensdorf
>> Switzerland
>>
>> +41 44 739 28 71 phone direct
>> +41 44 739 21 11 reception
>>
>> www.wsl.ch
>> _______________________________________________
>> ckan-dev mailing list
>> ckan-dev at lists.okfn.org
>> https://lists.okfn.org/mailman/listinfo/ckan-dev
>> Unsubscribe: https://lists.okfn.org/mailman/options/ckan-dev
>>
>>
> _______________________________________________
> ckan-dev mailing list
> ckan-dev at lists.okfn.org
> https://lists.okfn.org/mailman/listinfo/ckan-dev
> Unsubscribe: https://lists.okfn.org/mailman/options/ckan-dev
>
> _______________________________________________
> ckan-dev mailing list
> ckan-dev at lists.okfn.org
> https://lists.okfn.org/mailman/listinfo/ckan-dev
> Unsubscribe: https://lists.okfn.org/mailman/options/ckan-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20160427/535cb398/attachment-0003.html>


More information about the ckan-dev mailing list