jaaql-middleware-python 5.3.2__tar.gz → 5.3.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jaaql_middleware_python-5.3.2/jaaql_middleware_python.egg-info → jaaql_middleware_python-5.3.3}/PKG-INFO +1 -1
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/constants.py +1 -1
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/db/db_pg_interface.py +22 -1
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3/jaaql_middleware_python.egg-info}/PKG-INFO +1 -1
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/LICENSE.txt +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/README.md +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/config/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/config/config-docker.ini +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/config/config-test.ini +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/config/config.ini +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/config_constants.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/db/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/db/db_interface.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/db/db_utils.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/db/db_utils_no_circ.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/documentation/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/documentation/documentation_internal.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/documentation/documentation_public.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/documentation/documentation_shared.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/email/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/email/email_manager.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/email/email_manager_service.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/email/patch_ems.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/exceptions/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/exceptions/custom_http_status.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/exceptions/http_status_exception.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/exceptions/jaaql_interpretable_handled_errors.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/exceptions/not_yet_implement_exception.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/generated_constants.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/interpreter/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/interpreter/interpret_jaaql.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/jaaql.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/migrations/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/migrations/migrations.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/base_controller.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/base_model.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/controller.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/controller_interface.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/exception_queries.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/generated_queries.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/handmade_queries.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/model.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/model_interface.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/response.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/openapi/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/openapi/swagger_documentation.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/patch.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/scripts/01.install_domains.generated.sql +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/scripts/02.install_super_user.exceptions.sql +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/scripts/03.install_super_user.handwritten.sql +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/scripts/04.install_jaaql_data_structures.generated.sql +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/scripts/05.install_static_data.generated.sql +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/scripts/06.install_jaaql.exceptions.sql +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/scripts/ZZZZ.generated_functions_views_and_permissions.sql +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/scripts/ZZZZ.reset_references.sql +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/scripts/swagger_template.html +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/services/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/services/cached_canned_query_service.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/services/migrations_manager_service.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/services/patch_mms.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/services/patch_shared_var_service.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/services/shared_var_service.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/utilities/__init__.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/utilities/bootstrap_secrets.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/utilities/cron.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/utilities/crypt_utils.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/utilities/options.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/utilities/utils.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/utilities/utils_no_project_imports.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/utilities/vault.py +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql_middleware_python.egg-info/SOURCES.txt +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql_middleware_python.egg-info/dependency_links.txt +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql_middleware_python.egg-info/requires.txt +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql_middleware_python.egg-info/top_level.txt +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/setup.cfg +0 -0
- {jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jaaql-middleware-python
|
|
3
|
-
Version: 5.3.
|
|
3
|
+
Version: 5.3.3
|
|
4
4
|
Summary: The jaaql package, allowing for rapid development and deployment of RESTful HTTP applications
|
|
5
5
|
Home-page: https://github.com/JAAQL/JAAQL-middleware-python
|
|
6
6
|
Author: Software Quality Measurement and Improvement bv
|
|
@@ -22,6 +22,18 @@ PGCONN__max_conns = 10
|
|
|
22
22
|
|
|
23
23
|
TIMEOUT = 2.5
|
|
24
24
|
|
|
25
|
+
# Upper bound on how long a request waits for the parallel auth verifier's verdict before failing
|
|
26
|
+
# closed. Kept below the nginx proxy read timeout so the worker unwinds and returns its connection
|
|
27
|
+
# rather than the request dying at the proxy while the worker hangs on holding an open transaction.
|
|
28
|
+
WAIT_HOOK__timeout = 30
|
|
29
|
+
ERR__verification_timed_out = "Authorization verification timed out"
|
|
30
|
+
|
|
31
|
+
# libpq TCP keepalives: detect a peer that vanishes (DB reboot, network drop) within ~25s so the
|
|
32
|
+
# socket errors instead of a read blocking indefinitely. Without this the single serial
|
|
33
|
+
# auth-verification thread can wedge forever on a dead connection and, via the wait below, take
|
|
34
|
+
# every authenticated request down with it. Ignored by libpq for unix-socket connections.
|
|
35
|
+
CONN_STR__keepalives = " keepalives=1 keepalives_idle=10 keepalives_interval=5 keepalives_count=3"
|
|
36
|
+
|
|
25
37
|
ERR__invalid_role = "Role not allowed, invalid format!"
|
|
26
38
|
ERR__must_use_canned_query = "Must use canned query as you are not an admin!"
|
|
27
39
|
|
|
@@ -199,6 +211,8 @@ class DBPGInterface(DBInterface):
|
|
|
199
211
|
if str(port) != "5432":
|
|
200
212
|
conn_str += " port=" + str(port)
|
|
201
213
|
|
|
214
|
+
conn_str += CONN_STR__keepalives
|
|
215
|
+
|
|
202
216
|
self.conn_str = conn_str
|
|
203
217
|
|
|
204
218
|
if self.db_name not in user_pool:
|
|
@@ -309,7 +323,14 @@ class DBPGInterface(DBInterface):
|
|
|
309
323
|
do_prepare = prepare and _statement_is_preparable(query)
|
|
310
324
|
|
|
311
325
|
if wait_hook:
|
|
312
|
-
|
|
326
|
+
try:
|
|
327
|
+
res, err, code = wait_hook.get(timeout=WAIT_HOOK__timeout)
|
|
328
|
+
except queue.Empty:
|
|
329
|
+
# The parallel verifier never delivered a verdict (its single serial thread
|
|
330
|
+
# wedged, e.g. on a connection killed by a DB reboot). Fail closed and let
|
|
331
|
+
# the worker unwind - without this bound the worker blocks forever holding
|
|
332
|
+
# an open transaction, and enough of them starve the pool into nginx 504s.
|
|
333
|
+
raise Exception(ERR__verification_timed_out)
|
|
313
334
|
if not res:
|
|
314
335
|
if code == 500:
|
|
315
336
|
raise Exception(err)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: jaaql-middleware-python
|
|
3
|
-
Version: 5.3.
|
|
3
|
+
Version: 5.3.3
|
|
4
4
|
Summary: The jaaql package, allowing for rapid development and deployment of RESTful HTTP applications
|
|
5
5
|
Home-page: https://github.com/JAAQL/JAAQL-middleware-python
|
|
6
6
|
Author: Software Quality Measurement and Improvement bv
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/config/config-docker.ini
RENAMED
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/config/config-test.ini
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/db/db_utils_no_circ.py
RENAMED
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/documentation/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/email/email_manager.py
RENAMED
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/email/email_manager_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/exceptions/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/generated_constants.py
RENAMED
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/interpreter/__init__.py
RENAMED
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/interpreter/interpret_jaaql.py
RENAMED
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/migrations/__init__.py
RENAMED
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/migrations/migrations.py
RENAMED
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/base_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/controller_interface.py
RENAMED
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/exception_queries.py
RENAMED
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/generated_queries.py
RENAMED
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/handmade_queries.py
RENAMED
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/mvc/model_interface.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/scripts/swagger_template.html
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/services/shared_var_service.py
RENAMED
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/utilities/bootstrap_secrets.py
RENAMED
|
File without changes
|
|
File without changes
|
{jaaql_middleware_python-5.3.2 → jaaql_middleware_python-5.3.3}/jaaql/utilities/crypt_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|