Metadata-Version: 1.2
Name: ftp-proxy
Version: 0.0.6
Summary: A http to ftp proxy server application
Home-page: https://github.com/uptilab2/ftp_proxy
Author: Emile Caron
Author-email: emile.caron@outlook.com
License: UNKNOWN
Project-URL: Source, https://github.com/uptilab2/ftp_proxy
Description-Content-Type: text/markdown
Description: # ftp-proxy ![travis](https://travis-ci.com/uptilab2/ftp-proxy.svg?branch=master)
        Http proxy to interact with FTP servers
        
        ## Install
        `pip install ftp-proxy`
        
        ## Deployment
        Use the provided [docker image](https://hub.docker.com/r/emilecaron/ftp-proxy)
        
        ## Usage
        ### Using the python client
        See [client repository](https://github.com/uptilab2/ftp-proxy-client)
        
        ### Using an http client
        ftp-proxy can be used with any http client
        
        #### Authentication headers
        All api routes expect the same authentication headers
        
        | Header | Content | Default |
        |--------|---------|---------|
        | `X-ftpproxy-host` | server host | No default, mandatory header |
        | `X-ftpproxy-port` | server port | 21 |
        | `X-ftpproxy-user` | login | anonymous |
        | `X-ftpproxy-password` | password | |
        
        #### Available routes
        
        ##### Ping (/ftp/ping)
        Test connection to the remote FTP server
        Returns HTTP 200 on success
        
        ##### LS (ftp/ls)
        List the files on the ftp server
        Optional parameters:
        - path (string): path to list content. Defaults to "/"
        - recursive (true/false): recurse down subdirectories. Defaults to "false"
        - extension (string): list only files with matching extension if provided (example: ".py")
        
        Response:
        ```javascript
        {
            "files": ["file1.txt", "other.py", "folder/nested.txt"],
            "directories": ["folder", "folder/subfolder"]
        }
        ```
        
        ##### Download (/ftp/download)
        Download a file from the ftp server
        Mandatory parameters:
        - path (string): path to file to download
        
        
        #### Errors
        If an error occured on the proxy or the FTP server, the request will return a HTTP 400 json response with the following format
        ```javascript
        {
            "error": "<DESCRIPTION>"
        }
        ```
        
        ## Development
        ### Setup
        ```sh
        git clone git@github.com:uptilab2/ftp-proxy.git
        cd ftp-proxy
        
        # Project uses pipenv for dependency management
        # so it should be installed first
        pipenv install --dev
        
        # Run the tests:
        pipenv run py.test
        
        # Run the development server:
        pipenv run python -m aiohttp.web -H 0.0.0.0 -P 5000 ftp_proxy:init_func
        ```
        
Keywords: ftp proxy
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Build Tools
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.6
