geopython / pywps

PyWPS is an implementation of the Web Processing Service standard from the Open Geospatial Consortium. PyWPS is written in Python.
https://pywps.org
MIT License
175 stars 117 forks source link

Fix ComplexInput.from_json to handle data_format.encoding="base64" #652

Closed gschwind closed 2 years ago

gschwind commented 2 years ago

Overview

Fix the serialization/de-serialisation of input data when they are binary and base64 encoding.

Add the corresponding test.

The issue may be triggered when the binary file is send using base64 encoding within the XML request as instance:

    <wps:Input>
        <ows:Identifier>someidentifier</ows:Identifier>
        <wps:Data><wps:ComplexData mimeType="application/zip" encoding="base64" >
            SOMEDATA IN BASE64
        </wps:ComplexData></wps:Data>
    </wps:Input>

Note I did not actually checked the issue, I just triggered it with test case in the patch series.

Related Issue / Discussion

Additional Information

Contribution Agreement

(as per https://github.com/geopython/pywps/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

coveralls commented 2 years ago

Coverage Status

Coverage increased (+0.1%) to 81.378% when pulling ce91aed04f873bf6f144aa4baa09017153f41bfb on gschwind:main-fix-request-storage-2 into 61a8f0cf82465e101142624552b471c3e7f52725 on geopython:main.

cehbrecht commented 2 years ago

@gschwind there is now a conflict in the tests after merge of #651 . Could you resolve it? I will merge it then and make a new patch release of pywps.

gschwind commented 2 years ago

Hello,

I did a rebase and solved the conflict.

Best regards.