py-falcon: updated to 1.4.0
1.4.0:
Changes to Supported Platforms
Python 3 is now supported on PyPy as of PyPy3.5 v5.10.
Support for CPython 3.3 is now deprecated and will be removed in Falcon 2.0.
As with the previous release, Python 2.6 and Jython 2.7 remain deprecated and will no longer be supported in Falcon 2.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 falcon.media.validators.jsonschema.validate() JSON Schema decorator.
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 https://falconframework.org
Fixed
Forwarded headers containing quoted strings with commas were not being parsed correctly. This has been fixed, and the parser generally made more robust.
falcon.media.JSONHandler 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.
2018-02-22 12:14:19 +01:00
|
|
|
# $NetBSD: Makefile,v 1.4 2018/02/22 11:14:19 adam Exp $
|
2017-04-25 22:55:35 +02:00
|
|
|
|
py-falcon: updated to 1.4.0
1.4.0:
Changes to Supported Platforms
Python 3 is now supported on PyPy as of PyPy3.5 v5.10.
Support for CPython 3.3 is now deprecated and will be removed in Falcon 2.0.
As with the previous release, Python 2.6 and Jython 2.7 remain deprecated and will no longer be supported in Falcon 2.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 falcon.media.validators.jsonschema.validate() JSON Schema decorator.
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 https://falconframework.org
Fixed
Forwarded headers containing quoted strings with commas were not being parsed correctly. This has been fixed, and the parser generally made more robust.
falcon.media.JSONHandler 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.
2018-02-22 12:14:19 +01:00
|
|
|
DISTNAME= falcon-1.4.1
|
2017-04-25 22:55:35 +02:00
|
|
|
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
|
py-falcon: updated to 1.3.0
Changelog for Falcon 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 Schema.
(See also: :ref:`Media <media>`)
- URI template field converters are now supported. We expect to expand
this feature over time. (See also:
:ref:`Field Converters <routing_field_converters>`)
- A new method, :meth:`~.Request.get_param_as_datetime`, was added to
:class:`~.Request`.
- A number of attributes were added to :class:`~.Request` to
make proxy information easier to consume. These include the
:attr:`~.Request.forwarded`, :attr:`~.Request.forwarded_uri`,
:attr:`~.Request.forwarded_scheme`, :attr:`~.Request.forwarded_host`,
and :attr:`~.Request.forwarded_prefix` attributes. The
:attr:`~.Request.prefix` attribute was also added as part of this
work.
- A :attr:`~.Request.referer` attribute was added to
:class:`~.Request`.
- We implemented ``__repr__()`` for :class:`~.Request`,
:class:`~.Response`, and :class:`~.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. (See also:
:ref:`Media Type Constants <media_type_constants>`)
- Several new 5xx error classes were implemented. (See also:
:ref:`Error Handling <errors>`)
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 (best-effort).
- :class:`~.API` instances are not pickleable. Modify the default router
to fix this.
2017-12-22 06:53:05 +01:00
|
|
|
CATEGORIES= devel python
|
2017-04-25 22:55:35 +02:00
|
|
|
MASTER_SITES= ${MASTER_SITE_PYPI:=f/falcon/}
|
|
|
|
|
|
|
|
MAINTAINER= pkgsrc-users@NetBSD.org
|
|
|
|
HOMEPAGE= http://falconframework.org/
|
|
|
|
COMMENT= Unladen web framework for building APIs and app backends
|
|
|
|
LICENSE= apache-2.0
|
|
|
|
|
|
|
|
DEPENDS+= ${PYPKGPREFIX}-cython-[0-9]*:../../devel/py-cython
|
|
|
|
DEPENDS+= ${PYPKGPREFIX}-python-mimeparse>=1.5.2:../../www/py-python-mimeparse
|
|
|
|
DEPENDS+= ${PYPKGPREFIX}-six>=1.4.0:../../lang/py-six
|
|
|
|
# TEST_DEPENDS
|
|
|
|
BUILD_DEPENDS+= ${PYPKGPREFIX}-requests-[0-9]*:../../devel/py-requests
|
|
|
|
BUILD_DEPENDS+= ${PYPKGPREFIX}-test-[0-9]*:../../devel/py-test
|
Changelog for Falcon 1.2.0
New & Improved
- A new `default` kwarg was added to :meth:`~falcon.Request.get_header`.
- A :meth:`~falcon.Response.delete_header` method was added to
:class:`falcon.Response`.
- Several new HTTP status codes and error classes were added, such as
:class:`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 :class:`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 :class:`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
:class:`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 :class:`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 :class:`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.
2017-05-21 08:54:13 +02:00
|
|
|
BUILD_DEPENDS+= ${PYPKGPREFIX}-test-runner-[0-9]*:../../devel/py-test-runner
|
2017-04-25 22:55:35 +02:00
|
|
|
BUILD_DEPENDS+= ${PYPKGPREFIX}-testtools-[0-9]*:../../devel/py-testtools
|
|
|
|
BUILD_DEPENDS+= ${PYPKGPREFIX}-yaml-[0-9]*:../../textproc/py-yaml
|
|
|
|
|
|
|
|
post-install:
|
py-falcon: updated to 1.3.0
Changelog for Falcon 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 Schema.
(See also: :ref:`Media <media>`)
- URI template field converters are now supported. We expect to expand
this feature over time. (See also:
:ref:`Field Converters <routing_field_converters>`)
- A new method, :meth:`~.Request.get_param_as_datetime`, was added to
:class:`~.Request`.
- A number of attributes were added to :class:`~.Request` to
make proxy information easier to consume. These include the
:attr:`~.Request.forwarded`, :attr:`~.Request.forwarded_uri`,
:attr:`~.Request.forwarded_scheme`, :attr:`~.Request.forwarded_host`,
and :attr:`~.Request.forwarded_prefix` attributes. The
:attr:`~.Request.prefix` attribute was also added as part of this
work.
- A :attr:`~.Request.referer` attribute was added to
:class:`~.Request`.
- We implemented ``__repr__()`` for :class:`~.Request`,
:class:`~.Response`, and :class:`~.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. (See also:
:ref:`Media Type Constants <media_type_constants>`)
- Several new 5xx error classes were implemented. (See also:
:ref:`Error Handling <errors>`)
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 (best-effort).
- :class:`~.API` instances are not pickleable. Modify the default router
to fix this.
2017-12-22 06:53:05 +01:00
|
|
|
cd ${DESTDIR}${PREFIX}/bin && \
|
|
|
|
${MV} falcon-bench falcon-bench-${PYVERSSUFFIX} && \
|
|
|
|
${MV} falcon-print-routes falcon-print-routes-${PYVERSSUFFIX} || ${TRUE}
|
2017-04-25 22:55:35 +02:00
|
|
|
|
|
|
|
.include "../../lang/python/egg.mk"
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|