Skip to main content

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 rename home folder to custom name in router.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 will http://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 and ext_include_list are exclusive porps. e.g. if ext_include_list provided ext_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

flask_file_router-0.0.5.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

flask_file_router-0.0.5-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

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

Hashes for flask_file_router-0.0.5.tar.gz
Algorithm Hash digest
SHA256 c26e96cc72296ea914ba44104f65b997ef6def1fd30278719554e474cff891c6
MD5 18c9b9c9beb316ba31eb1ce92b1c55cd
BLAKE2b-256 dd80ff4f62854f079974b45a6752f3fa21b00aa8a72d0445dc8012dcc23b7b59

See more details on using hashes here.

File details

Details for the file flask_file_router-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for flask_file_router-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d46b32e4ae48760aaf5fa583c1af568c374e38c19eaba55604710e6d1213e402
MD5 f81a45ec80642e58122fc815ded43a99
BLAKE2b-256 40d71cb0577cfdd80f6a84e34fc8db6c7e0b03c11c831e0c2390fd0df3ce319b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page