Permalink
Commits on Aug 28, 2018
Commits on Apr 26, 2018
Commits on Apr 21, 2018
  1. requirements.txt: require "PythonicTestcase" instead of "pythonic_tes…

    FelixSchwarz committed Apr 21, 2018
    …tcase"
    
    I deleted "pythonic_testcase" a few days ago as I stopped using that project long
    ago and it dit not occur to me that soapfish still relied on the old name.
Commits on Sep 6, 2017
Commits on Jul 10, 2017
  1. wsdl: correctly generate message headers (fix #113)

    pope1ni committed Jul 10, 2017
    This is a quick fix and probably doesn't solve for all cases.
Commits on Jul 7, 2017
  1. cleanup: improve handling of headers.

    pope1ni committed Jul 7, 2017
    Generally made more consistent by returning in preferred capitalisation.
    Look up in request environment using uppercased form, but make the
    wrapper for django more flexible to accept any header name format.
Commits on Jul 4, 2017
Commits on Jul 3, 2017
Commits on Jun 30, 2017
  1. dispatcher: add request and response hooks.

    pope1ni committed Jun 30, 2017
    Without this we cannot access the original request prior to the parsing
    of the request to produce the SOAPRequest.
Commits on Jun 28, 2017
  1. dispatcher: pass request preparation through middleware stack.

    pope1ni committed Jun 28, 2017
    We may want to be able to log errors that occur during preparation of
    the SOAP request object, e.g. syntax errors, but this requires passage
    through the middleware stack to be able to use ExceptionLogger with
    SOAPError.
    
    Exceptions are not converted to SOAP faults when using the parsed body
    unless we use the ExceptionToSoapFault middleware, but exceptions when
    parsing the envelope are converted. We should consider whether to
    standardise this behaviour to convert all or no errors to SOAP faults,
    whether to make the exceptions to convert customisable, and whether to
    enable the ExceptionToSoapFault middleware by default. If all of this is
    done, we should then probably allow the original errors encountered
    during parsing, e.g. DocumentInvalid, XMLSyntaxError, to be raised and
    converted by the middleware without special handling.
Commits on May 15, 2017
Commits on May 10, 2017
  1. xsd: various fixes to integer types.

    pope1ni committed May 10, 2017
    This is a little magic, but should be more correct according to the
    specifications.
  2. dispatch: provide access to original django/flask request.

    pope1ni committed May 10, 2017
    Not having access to request.user in a django request is awkward and
    used to be available until the refactoring of the dispatching code.
  3. dispatch: repetition in xs:pattern broken by str.format(). (fix #108)

    pope1ni committed May 10, 2017
    SOAPDispatcher.handle_wsdl_request() fails when using the following code:
    
        class Code(xsd.String):
            pattern = r'[A-Z]{3}'
    
    It is correctly converting the code to the following:
    
          <xsd:simpleType name="code">
            <xsd:restriction base="xsd:string">
              <xsd:pattern value="[A-Z]{3}"/>
            </xsd:restriction>
          </xsd:simpleType>
    
    The problem then arises with the string formatting to substitute
    {scheme} and {host} which fails because there is no value to substitute
    for {3}.
    
    The fix unfortunately requires a breaking change to templating from
    using str.format() to string.Template.safe_substitute() which will not
    blow up if a value is not available to be substituted.
    
    https://docs.python.org/3/library/string.html#string.Template.safe_substitute
Commits on May 8, 2017