Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Communications Backbone System
backbone-message-format
Commits
6ee319b4
Verified
Commit
6ee319b4
authored
7 months ago
by
Dan Jones
Browse files
Options
Download
Email Patches
Plain Diff
refactor: simplify nesting and improve comments
parent
e1f6efba
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
17 deletions
+29
-17
generate_schema_config.py
generate_schema_config.py
+29
-17
No files found.
generate_schema_config.py
View file @
6ee319b4
...
...
@@ -112,17 +112,39 @@ swagger_config = {
def
configure_flask
(
swagger_config
):
"""
Setup a flask app, load flasgger
and then patch to remove invalid
definitions:{} object
"""
app
=
Flask
(
__name__
)
Swagger
(
app
,
config
=
swagger_config
,
merge
=
True
)
# Replace schema route to remove invalid
# definitions: {}
# Should be fixed if Flassger 0.9.7 is released
#
# The last release of flasgger was Aug 2020
# This bug was fixed in Nov 2021
# There is a pre-release from May 2023
# Until the fix gets released we have to
# remove the invalid definitions object
# from the spec
@
app
.
after_request
def
after_request_decorator
(
response
):
if
type
(
response
).
__name__
==
"Response"
:
if
response
.
content_type
==
"application/json"
:
data
=
response
.
json
if
"definitions"
in
data
:
del
data
[
"definitions"
]
response
.
data
=
json
.
dumps
(
data
)
"""
I didn't want to mess with flasgger so
this blunt workaround that runs on every
route and then checks whether it's required
"""
is_response
=
type
(
response
).
__name__
==
"Response"
is_json
=
is_response
and
response
.
content_type
==
"application/json"
if
is_json
:
parsed
=
response
.
json
if
"definitions"
in
parsed
:
del
parsed
[
"definitions"
]
response
.
data
=
json
.
dumps
(
parsed
)
return
response
...
...
@@ -131,18 +153,8 @@ def configure_flask(swagger_config):
def
serve
(
swagger_config
):
"""
Run as local flask app on
port
5000
Run as local flask app on
FLASK_PORT|
5000
"""
# Replace schema route to remove invalid
# definitions: {}
# Should be fixed if Flassger 0.9.7 is released
#
# The last release of flasgger was Aug 2020
# This bug was fixed in Nov 2021
# There is a pre-release from May 2023
# Until the fix gets released we have to
# remove the invalid definitions object
# from the spec
app
=
configure_flask
(
swagger_config
)
app
.
run
(
debug
=
True
,
host
=
FLASK_HOST
,
port
=
FLASK_PORT
)
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment