Package Release Info


Update Info: Base Release
Available in Package Hub : 15





Change Logs

* Thu Apr 19 2018
- use %license macro
* Tue Mar 06 2018
- Allows Recommends and Suggest in Fedora
* Tue Feb 27 2018
- Suggests only for SUSE
* Wed Jan 17 2018
- specfile:
  * update copyright year
  * require pygments-style-railscasts to build documentation
- update to version 1.4.1:
  * Fixed
    + Reverted the breaking change in 1.4.0 to
    "falcon.testing.Result.json".  Minor releases should have no
    breaking changes.
    + The README was not rendering properly on PyPI. This was fixed
    and a validation step was added to the build process.
- changes from version 1.4.0:
  * New & Improved
    + We added a new method, API.add_static_route(), that makes it
    easy to serve files from a local directory. This feature
    provides an alternative to serving files from the web server
    when you don't have that option, when authorization is required,
    or for testing purposes.
    + Arguments can now be passed to hooks.
    + The default JSON media type handler will now use ujson, if
    available, to speed up JSON (de)serialization under CPython.
    + Semantic validation via the format keyword is now enabled for
    the JSON Schema
    + We added a new helper, falcon.Request.get_param_as_uuid(), to
    the Request class.
    + We added a new property, downloadable_as, to the Response class
    for setting the Content-Disposition header.
    + Falcon now supports WebDAV methods (RFC 3253), such as UPDATE
    and REPORT.
    + falcon.routing.create_http_method_map has been refactored into
    two new methods, falcon.routing.map_http_methods and
    falcon.routing.set_default_responders, so that custom routers
    can better pick and choose the functionality they need. The
    original method is still available for backwards-compatibility,
    but will be removed in a future release.
    + We added a new json param to falcon.testing.simulate_request()
    et al. to automatically serialize the request body from a JSON
    serializable object or type (for a complete list of serializable
    types, see json.JSONEncoder).
    + TestClient's simulate_*() methods now call
    TestClient.simulate_request to make it easier for subclasses to
    override TestClient's behavior.
    + TestClient can now be configured with a default set of headers
    to send with every request.
    + testing.Result.json now returns None when the response body is
    empty, rather than raising an error.
    + The FAQ has been reorganized and greatly expanded.
    + We restyled the docs to match
  * Fixed
    + Forwarded headers containing quoted strings with commas were not
    being parsed correctly. This has been fixed, and the parser
    generally made more robust.
    + was raising an error under Python 2.x
    when serializing strings containing Unicode code points. This
    issue has been fixed.
    + Overriding a resource class and calling its responders via
    super() did not work when passing URI template params as
    positional arguments. This has now been fixed.
    + Python 3.6 was generating warnings for strings containing '\s'
    within Falcon. These strings have been converted to raw strings
    to mitigate the warning.
    + Several syntax errors were found and fixed in the code examples
    used in the docs.
* Tue Oct 03 2017
- specfile:
  * require jsonschema
  * require msgpack-python
- updated patch
- update to version 1.3.0:
  * Changes to Supported Platforms
    + CPython 3.6 is now fully supported.
    + Falcon appears to work well on PyPy3.5, but we are waiting until
    that platform is out of beta before officially supporting it.
    + Support for both CPython 2.6 and Jython 2.7 is now deprecated
    and will be discontinued in Falcon 2.0.
  * New & Improved
    + We added built-in resource representation serialization and
    deserialization, including input validation based on JSON
    + URI template field converters are now supported. We expect to
    expand this feature over time.
    + A new method, get_param_as_datetime(), was added to the Request
    + A number of attributes were added to the Request class to make
    proxy information easier to consume. These include the
    forwarded, forwarded_uri, forwarded_scheme, forwarded_host, and
    forwarded_prefix attributes. The prefix attribute was also added
    as part of this work.
    + A referer attribute was added to the Request class.
    + We implemented __repr__() for Request, Response, and HTTPError
    to aid in debugging.
    + A number of Internet media type constants were defined to make
    it easier to check and set content type headers.
    + Several new 5xx error classes were implemented.
  * Fixed
    + If even a single cookie in the request to the server is
    malformed, none of the cookies will be parsed
    (all-or-nothing). Change the parser to simply skip bad cookies
    + API instances are not pickleable. Modify the default router to
    fix this.
* Sat Sep 02 2017
- add patch remove_failing_test.patch removes a broken test
* Fri Aug 25 2017
- Remove filler words from descriptions.
* Wed Aug 02 2017
- disable Cython-build because of failing tests
- update to 1.2.0:
  * New & Improved
  - A new default kwarg was added to falcon.Request.get_header.
  - A delete_header() method was added to falcon.Response.
  - Several new HTTP status codes and error classes were added, such as falcon.HTTPFailedDependency.
  - If ujson is installed it will be used in lieu of json to speed up error serialization and query string parsing under CPython. PyPy users should continue to use json.
  - The independent_middleware kwarg was added to falcon.API to enable the execution of process_response() middleware methods, even when process_request() raises an error.
  - Single-character field names are now allowed in URL templates when specifying a route.
  - A detailed error message is now returned when an attempt is made to add a route that conflicts with one that has already been added.
  - The HTTP protocol version can now be specified when simulating requests with the testing framework.
  - The falcon.ResponseOptions class was added, along with a secure_cookies_by_default option to control the default value of the "secure" attribute when setting cookies. This can make testing easier by providing a way to toggle whether or not HTTPS is required.
  - port, netloc and scheme properties were added to the falcon.Request class. The protocol property is now deprecated and will be removed in a future release.
  - The strip_url_path_trailing_slash was added to falcon.RequestOptions to control whether or not to retain the trailing slash in the URL path, if one is present. When this option is enabled (the default), the URL path is normalized by stripping the trailing slash character. This lets the application define a single route to a resource for a path that may or may not end in a forward slash. However, this behavior can be problematic in certain cases, such as when working with authentication schemes that employ URL-based signatures. Therefore, the strip_url_path_trailing_slash option was introduced to make this behavior configurable.
  - Improved the documentation for falcon.HTTPError, particularly around customizing error serialization.
  - Misc. improvements to the look and feel of Falcon's documentation.
  - The tutorial in the docs was revamped, and now includes guidance on testing Falcon applications.
  * Fixed
  - Certain non-alphanumeric characters, such as parenthesis, are not handled properly in complex URI template path segments that are comprised of both literal text and field definitions.
  - When the WSGI server does not provide a wsgi.file_wrapper object, Falcon wraps in a simple iterator object that does not implement close(). The iterator should be modified to implement a close() method that calls the underlying stream's close() to free system resources.
  - The testing framework does not correctly parse cookies under Jython.
  - Whitespace is not stripped when parsing cookies in the testing framework.
  - The Vary header is not always set by the default error serializer.
  - While not specified in PEP-3333 that the status returned to the WSGI server must be of type str, setting the status on the response to a unicode string under Python 2.6 or 2.7 can cause WSGI servers to raise an error. Therefore, the status string must first be converted if it is of the wrong type.
  - The default OPTIONS responder returns 204, when it should return 200. RFC 7231 specifically states that Content-Length should be zero in the response to an OPTIONS request, which implies a status code of 200 since RFC 7230 states that Content-Length must not be set in any response with a status code of 204.
- update to 1.1.0:
  * New & Improved
  - A new bounded_stream property was added to falcon.Request that can be used in place of the stream property to mitigate the blocking behavior of input objects used by some WSGI servers.
  - A new uri_template property was added to falcon.Request to expose the template for the route corresponding to the path requested by the user agent.
  - A context property was added to falcon.Response to mirror the same property that is already available for falcon.Request.
  - JSON-encoded query parameter values can now be retrieved and decoded in a single step via falcon.Request.get_param_as_dict().
  - CSV-style parsing of query parameter values can now be disabled.
  - falcon.Request.get_param_as_bool() now recognizes "on" and "off" in support of IE's default checkbox values.
  - An accept_ranges property was added to falcon.Response to facilitate setting the Accept-Ranges header.
  - Added the falcon.HTTPUriTooLong and falcon.HTTPGone error classes.
  - When a title is not specified for falcon.HTTPError, it now defaults to the HTTP status text.
  - All parameters are now optional for most error classes.
  - Cookie-related documentation has been clarified and expanded
  - The falcon.testing.Cookie class was added to represent a cookie returned by a simulated request. falcon.testing.Result now exposes a cookies attribute for examining returned cookies.
  - pytest support was added to Falcon's testing framework. Apps can now choose to either write unittest- or pytest-style tests.
  - The test runner for Falcon's own tests was switched from nose to pytest.
  - When simulating a request using Falcon's testing framework, query string parameters can now be specified as a dict, as an alternative to passing a raw query string.
  - A flag is now passed to the process_request middleware method to signal whether or not an exception was raised while processing the request. A shim was added to avoid breaking existing middleware methods that do not yet accept this new parameter.
  - A new CLI utility, falcon-print-routes, was added that takes in a module:callable, introspects the routes, and prints the results to stdout. This utility is automatically installed along with the framework:
  - $ falcon-print-routes commissaire:api
  - -> /api/v0/status
  - -> /api/v0/cluster/{name}
  - -> /api/v0/cluster/{name}/hosts
  - -> /api/v0/cluster/{name}/hosts/{address}
  - Custom attributes can now be attached to instances of falcon.Request and falcon.Response. This can be used as an alternative to adding values to the context property, or implementing custom subclasses.
  - falcon.get_http_status() was implemented to provide a way to look up a full HTTP status line, given just a status code.
  * Fixed
  - When auto_parse_form_urlencoded is set to True, the framework now checks the HTTP method before attempting to consume and parse the body.
  - Before attempting to read the body of a form-encoded request, the framework now checks the Content-Length header to ensure that a non-empty body is expected. This helps prevent bad requests from causing a blocking read when running behind certain WSGI servers.
  - When the requested method is not implemented for the target resource, the framework now raises falcon.HTTPMethodNotAllowed, rather than modifying the falcon.Request object directly. This improves visibility for custom error handlers and for middleware methods.
  - Error class docstrings have been updated to reflect the latest RFCs.
  - When an error is raised by a resource method or a hook, the error will now always be processed (including setting the appropriate properties of the falcon.Response object) before middleware methods are called.
  - A case was fixed in which middleware processing did not continue when an instance of falcon.HTTPError or falcon.HTTPStatus was raised.
  - The falcon.uri.encode() method will now attempt to detect whether the specified string has already been encoded, and return it unchanged if that is the case.
  - The default OPTIONS responder now explicitly sets Content-Length to zero in the response.
  - falcon.testing.Result now assumes that the response body is encoded as UTF-8 when the character set is not specified, rather than raising an error when attempting to decode the response body.
  - When simulating requests, Falcon's testing framework now properly tunnels Unicode characters through the WSGI interface.
  - import falcon.uri now works, in addition to from falcon import uri.
  - URI template fields are now validated up front, when the route is added, to ensure they are valid Python identifiers. This prevents cryptic errors from being raised later on when requests are routed.
  - When running under Python 3, inspect.signature() is used instead of inspect.getargspec() to provide compatibility with annotated functions.
* Thu Mar 02 2017
- Update Dependency on python-PyYAML: this package had been renamed
  a long time ago to follow the naming convention. The compat
  symbol 'python-yaml' was lost with the migration to singlespec.
* Sat Dec 03 2016
- update to 1.0.0:
* Mon Feb 29 2016
- update to 0.3.0:
* Fri Jan 29 2016
- Add missing requirement "python-python-mimeparse"
* Mon May 04 2015
- update to version 0.2:
  * Since 0.1 we've added proper RTD docs to make it easier for
    everyone to get started with the framework. Over time we will
    continue adding content, and we would love your help!
  * Falcon now supports "wsgi.filewrapper". You can assign any
    file-like object to and Falcon will use
    "wsgi.filewrapper" to more efficiently pipe the data to the
    WSGI server.
  * Support was added for automatically parsing requests containing
    "application/x-www-form-urlencoded" content. Form fields are
    now folded into req.params.
  * Custom Request and Response classes are now supported. You can
    specify custom types when instantiating falcon.API.
  * A new middleware feature was added to the framework. Middleware
    deprecates global hooks, and we encourage everyone to migrate
    as soon as possible.
  * A general-purpose dict attribute was added to Request.
    Middleware, hooks, and responders can now use req.context to
    share contextual information about the current request.
  * A new method, append_header, was added to falcon.API to allow
    setting multiple values for the same header using comma
  * A new "resource" attribute was added to hooks. Old hooks that
    do not accept this new attribute are shimmed so that they will
    continue to function.
  * Error response bodies now support XML in addition to JSON. In
    addition, the HTTPError serialization code was refactored to
    make it easier to implement a custom error serializer.
  * A new method, "set_error_serializer" was added to falcon.API.
    You can use this method to override Falcon's default HTTPError
    serializer if you need to support custom media types.
  * Falcon's testing base class, testing.TestBase was improved to
    facilitate Py3k testing.
  * An "add_link" method was added to the Response class. Apps can
    use this method to add one or more Link header values to a
  * Added two new properties, and req.subdomain, to make
    it easier to get at the hostname info in the request.
  * Allow a wider variety of characters to be used in query string
  * Internal APIs have been refactored to allow overriding the
    default routing mechanism. Further modularization is planned
    for the next release (0.3).
  * Changed req.get_param so that it behaves the same whether a
    list was specified in the query string using the HTML form
    style (in which each element is listed in a separate 'key=val'
    field) or in the more compact API style (in which each element
    is comma-separated and assigned to a single param instance, as
    in 'key=val1,val2,val3')
  * Added a convenience method, set_stream(...), to the Response
    class for setting the stream and its length at the same time,
    which should help people not forget to set both (and save a few
    keystrokes along the way).
  * Added several new error classes, including
    HTTPRequestEntityTooLarge, HTTPInvalidParam, HTTPMissingParam,
    HTTPInvalidHeader and HTTPMissingHeader.
  * Python 3.4 is now fully supported.
  * Various minor performance improvements
  * The deprecated util.misc.percent_escape and
    util.misc.percent_unescape functions were removed. Please use
    the functions in the util.uri module instead.
  * The deprecated function, API.set_default_route, was removed.
    Please use sinks instead.
  * HTTPRangeNotSatisfiable no longer accepts a media_type
  * When using the comma-delimited list convention,
    req.get_param_as_list(...) will no longer insert placeholders,
    using the None type, for empty elements.
  * Ensure 100% test coverage and fix any bugs identified in the
  * Fix not recognizing the "bytes=" prefix in Range headers.
  * Make HTTPNotFound and HTTPMethodNotAllowed fully compliant,
    according to RFC 7231.
  * Fixed the default on_options responder causing a Cython type
  * URI template strings can now be of type unicode under Python 2.
  * When SCRIPT_NAME is not present in the WSGI environ, return an
    empty string for the property.
  * Global "after" hooks will now be executed even when a responder
    raises an error.
  * Fixed several minor issues regarding testing.create_environ(...)
  * Work around a wsgiref quirk, where if no content-length header
    is submitted by the client, wsgiref will set the value of that
    header to an empty string in the WSGI environ.
  * Resolved an issue causing several source files to not be
  * Docstrings have been edited for clarity and correctness.
- additional changes from version 0.1.10:
  * SCRIPT_NAME may not always be present in the WSGI environment,
    so treat it as an empty string if not present.
- additional changes from version 0.1.9:
  * Addressed style issues reported by the latest pyflakes version
  * Fixed body not being decoded from UTF-8 in HTTPError tests
  * Remove unnecessary ordereddict requirement on Python 2.6
- additional changes from version 0.1.8:
  * srmock.headers have been normalized such that header names are
    always lowercase. This was done to make tests that rely on
    srmock less fragile.
  * Falcon now sends response headers as all lower-case ala node.js.
  * The 'scheme' argument to HTTPUnauthorized can no longer be
    passed positionally; it must be a named argument.
  * You can no longer overload a single resource class to respond
    to multiple routes that differ by URI template params.
  * srmock.headers_dict is now implemented using a case-insensitive
  * Per RFC 3986, Falcon now decodes escaped characters in the
    query string, plus convert '+' -> ' '. Also, Falcon now decodes
    multi-byte UTF-8 sequences after they have been unescaped.
  * Custom error handlers can be registered via a new
    API.add_error_handler method.
  * Support for "request sinks" was added to falcon.API.
  * uri module added to falcon.util which includes utilities for
    encoding and decoding URIs, as well as parsing a query string
    into a dict.
  * Subsequent calls to req.uri are now faster since the property
    now clones a cached dict instead of building a new one from
    scratch each time.
  * falcon.util now includes a case-insensitive dict borrowed from
    the Requests library.
  * Misc. performance optimizations to offset the impact of
    supporting case-sensitive headers and rigorous URI
  * Py33 performance improvements
- add python-ddt and python-yaml as BuildRequires for the tests
- remove unwanted shebang of
- add -fno-strict-aliasing to CFLAGS to avoid compiler warnings
- pass -q to test to avoid spamming the build log
- remove AUTHORS LICENSE: no provided anymore
- remove its content is identical to README.rst
* Mon Sep 30 2013
- Fix description
* Tue Sep 17 2013
- update to 0.1.7:
  * req.get_params_as_list now inserts None as a placeholder for missing
  elements, and returns None all by itself if the param is present in the
  query string, but has an empty string as its value. (kgriffs)
* Mon Sep 09 2013
- Add python-ordereddict test build requirement for SLE_11_SP3
* Mon Sep 09 2013
- Initial version