-
-
Notifications
You must be signed in to change notification settings - Fork 29
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Currently, flask-shell2http works just like any other flask extension; you create an object from a class to which you pass the flask application instance. We could follow a different approach making it solely available as a pluggable Flask.Blueprint
.
Some initial ideas:
- The
Shell2HTTP
class could derive from theFlask.Blueprint
class; that way we can drop theinit_app
method, theregister_command
can be a wrapper over theFlask.Blueprint.add_url_rule
method (it already is, but it works onapp.add_url_rule
). Then, the enduser would do something like,
from flask_shell2http import Shell2HTTP
# default blueprint instantiation
shell2http_bp = Shell2HTTP('awesome', __name__, url_prefix='/commands')
# extra method by flask-shell2http
shell2http_bp.register_command(endpoint="echo", command_name="echo", ...)
and then in the application factory,
app = Flask(__name__)
app.register_blueprint(shell2http_bp)
This would open doors for many other features since Flask.Flask
and Flask.Blueprint
derive from the same abstract base class and flask blueprints are very powerful.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request