Metadata-Version: 2.4
Name: p01.publisher
Version: 1.0.11
Summary: NO ZODB publisher components for Zope3
Home-page: http://pypi.python.org/pypi/p01.publisher
Author: Roger Ineichen, Projekt01 GmbH
Author-email: dev@projekt01.ch
License: ZPL 2.1
Keywords: zope zope3 z3c ZODB
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Framework :: Zope3
Description-Content-Type: text/x-rst
License-File: LICENSE.txt
Requires-Dist: setuptools
Requires-Dist: ZConfig
Requires-Dist: p01.cgi
Requires-Dist: p01.json
Requires-Dist: p01.jsonrpc
Requires-Dist: transaction
Requires-Dist: zope.authentication
Requires-Dist: zope.browser
Requires-Dist: zope.component
Requires-Dist: zope.configuration
Requires-Dist: zope.error
Requires-Dist: zope.event
Requires-Dist: zope.processlifetime
Requires-Dist: zope.i18n
Requires-Dist: zope.interface>=5.5.2
Requires-Dist: zope.location
Requires-Dist: zope.publisher
Requires-Dist: zope.schema
Requires-Dist: zope.security
Requires-Dist: zope.site
Requires-Dist: zope.testing
Requires-Dist: zope.traversing
Provides-Extra: test
Requires-Dist: zope.testing; extra == "test"
Requires-Dist: p01.checker; extra == "test"
Requires-Dist: p01.testbrowser; extra == "test"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary

==============
p01.publisher
==============

This package provides a WSGI publisher concept using zope components including
transactions, application error handling, traverser, pages views and offers
jsonrpc without a ZODB. The package offers a wsgi application which kicks in
the known zope publication concept. The publication concept can get used with
gevent or similar async frameworks. It's up to you how you store persistent
items. Probably the container, item and traversal pattern in m01.mongo is a
good choice for this.


=======
Changes
=======

1.0.11 (2026-04-16)
-------------------

- bugfix; fix bad character in PATH_INFO parsing. Make sane_environment
  more safe and ignore bad unicode characters.


1.0.10 (2026-02-19)
-------------------

- bugfix; fix testing requets parser


1.0.9 (2025-11-14)
------------------

- bugfix, Fixed tests and release on pypi.org


1.0.8 (2025-11-13)
------------------

- bugfix, Fixed boolean error comparing "if context" (__bool__)


1.0.7 (2025-10-15)
------------------

- bugfix, Fixed UnicodeEncodeError ('latin-1') in JSONRPC request


1.0.6 (2025-09-01)
------------------

- bugfix, cleanup app setup, remove self.app = None in __init__ method
  because its a property


1.0.5 (2025-08-29)
------------------

- bugfix; fix empty content type at error handling


1.0.4 (2025-08-26)
------------------

- bugfix; remove bad six.string_types patch


1.0.3 (2025-08-25)
------------------

- bugfix; fix globals in getZCMLLayer


1.0.2 (2025-08-20)
------------------

- bugfix; improve __slots__ for python 3


1.0.1 (2025-07-15)
------------------

 - Fixed errors in headers (post/get) - wrong unicode x str types (APP-1818).


1.0.0 (2025-06-12)
------------------

- bugfix: fix string encoding issues. Python 3 is work in progress and requires
  a pywsgi version which doesn't only require str.


0.9.3 (2025-06-04)
------------------

- python 2.7 migration

- removed z3c.jsonrpc dependency

- implemented Debugger concept


0.9.2 (2025-05-27)
------------------

- requirements update: zope.interface >= 5.5.2


0.9.1 (2021-12-04)
------------------

- bugfix: allow to use Basic Authentication header credentias in JSONRPC proxy.

- feature: Suport username and password in getJSONRPCTestProxy used for setup
  Authentication Basic header.

- feature: Support Bearer token in getJSONRPCTestProxy used for Authentication
  Bearer header.


0.9.0 (2017-09-18)
------------------

- feature: implemented ZODB support. Now it's possible to use p01.publisher
  and use a ZODB not only a WSGI application.

- renamed p01.publisher.traversers to p01.publisher.traverser

- enable threadSiteSubscriber and clearThreadSiteSubscriber event subscriber
  handler


0.8.0 (2017-01-24)
------------------

- bugfix: transaction >= 2.0.3 uses unicode for transaction note. See comment
  in transaction CHANGES.txt. The user and description fields must now be set
  with text (unicode) data. Previously, if bytes were provided, they'd be
  decoded as ASCII. It was decided that this would lead to bugs that were hard
  to test for.


0.7.0 (2016-09-19)
------------------

- feature: re-implemented json reader and writer concept. Use reader and writer
  from p01.json.api

- bugfix: support PATH_INFO in JSONRPCTestTransport used by the test method
  getJSONRPCTestProxy. This ensures that we traverse to the related context
  for calling the json-rpc method.

- feature: use JSONRPCProxy from p01.json as json-rpc test proxy

- sort response header before return, except Status and X-Powered-By


0.6.0 (2015-03-17)
------------------

- feature: added application/json support. The new request json method returns
  the json formated data given from a request with content type applicaton/json.
  The raw content is stored in the request raw property if such json content
  is given.

- added OPTIONS to allwed request methods. This allows to handle cross origin
  request given from android phones during development. Note, you ned to
  register a view for handle such requests. We just added the OPTIONS as a
  general allowed request method.

- feature: use new testbrowser concept based on zope.testbrowser >= 5.0.0.
  This new testbrowser concept uses a wsgi application and is based on webtest.
  Currently we use p01.testbrowser which is a clone of zope.testbrowser because
  there is no zope.testbrowser release yet.

- feature: implemented simple JSONRPCTestProxy based on wsgi app. This new
  test json rpc proxy uses the wsgi application publisher for process a
  request.

- backport zope.publisher publication factory lookup. Improve the publication
  factory lookup by falling back to a more generic registration if the specific
  factory chooses not to handle the request after all


0.5.0 (2014-03-24)
------------------

- initial release
