File Based Routing for Flask Server
Project description
DISCLAIMER
This Library currently supports only static routing. The dynamic routing will be added in the future release
Usage
Basic Usage
- Create a folder with a name
home
in the root dir of your project. You can renamehome
folder to custom name inrouter.config.json
which should be created in the root dir. - The folder
home
is gonna be workspace directory of your all api routes. - e.g. for path
home/api.py
the route willhttp://localhost:<PORT>/api
- create and open
app.py
in the root dir of your project.
app.py
# app.py
from flask import Flask
from flask.cors import CORS
from flask_file_router.router import Router
app = Flask(__name__)
CORS(app)
app.config['CORS_HEADERS'] = "Content-Type"
Router(app).run()
if __name__=="main":
app.run(host="0.0.0.0", port=4000, debug=True)
home/api.py
# home/api.py
from flask import request
methods = ["POST"] # put GET for GET request
def main(): # This function have to be named as main. This gets triggered Whenever it hits api
body = request['json']
return ""
Configurations
{
"root_dir": "./home", // name of the workspace home dir
"default_index": "__main__.py", // This is the default index route for the given folder
"ext_exclude_list": ["pyc"], // file with this extension will be ignored
"ext_include_list": ["py"] //file with this extension will be considered for api router and rest are ignored
}
Note:
ext_exclude_list
andext_include_list
are exclusive porps. e.g. ifext_include_list
providedext_exclude_list
will be ignored.
File Structure examples
Consider the following file system structure
home/v1/api.py
home/v1/__main__.py
home/v1/get_user.py
The api router for the above file structure will be as follows
https://localhost:4000/v1/api
https://localhost:4000/v1
https://localhost:4000/v1/get_user
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file flask_file_router-0.0.5.tar.gz
.
File metadata
- Download URL: flask_file_router-0.0.5.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c26e96cc72296ea914ba44104f65b997ef6def1fd30278719554e474cff891c6 |
|
MD5 | 18c9b9c9beb316ba31eb1ce92b1c55cd |
|
BLAKE2b-256 | dd80ff4f62854f079974b45a6752f3fa21b00aa8a72d0445dc8012dcc23b7b59 |
File details
Details for the file flask_file_router-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: flask_file_router-0.0.5-py3-none-any.whl
- Upload date:
- Size: 4.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d46b32e4ae48760aaf5fa583c1af568c374e38c19eaba55604710e6d1213e402 |
|
MD5 | f81a45ec80642e58122fc815ded43a99 |
|
BLAKE2b-256 | 40d71cb0577cfdd80f6a84e34fc8db6c7e0b03c11c831e0c2390fd0df3ce319b |