fexon 0.1.5

A simple file upload and download server in Rust using Actix
Documentation
# Fexon
Fexon is a simple file upload and download server written in Rust. It uses the Actix framework to provide functionality for uploading and downloading files over HTTP. It offers a fast and secure file management server solution.

## Features
* File upload and download functionality
* Multipart form-data support for file uploads
* Simple API for project integration
* High performance implementation with Actix and async Rust
* Easy setup and deployment

## Installation
To include `fexon` in your Rust project, add it to your `Cargo.toml` file as follows:

```toml
[dependencies]
fexon = "0.1.5"
actix-web = "4.0"
```

## Example Usage
Below is an example code to upload and download files using `fexon`.

### Server Example
```rust
use fexon::{start_server, upload_file, download_file};
use actix_web::{web, App, HttpServer};

#[actix_web::main]
async fn main() -> std::io::Result<()> {
    HttpServer::new(|| {
        App::new()
            .route("/upload", web::post().to(upload_file))
            .route("/download/{file_name}", web::get().to(download_file))
    })
        .bind("127.0.0.1:8080")?
        .run()
        .await
}
```

### File Upload Example
To upload a file, send a `POST` request to the `/upload` endpoint with the file as `multipart/form-data`.

### File Download Example
To download a file, send a GET request to the /download/{file_name} endpoint.

## API Endpoints
* **POST** `/upload`: Upload a file.

    * **Request**: Send the file as `multipart/form-data`.
    * **Response**: Returns a success message or an error message.

* GET /download/{file_name}: Download a file by its name.

    * Request: Provide the file name in the URL path.
    * Response: Returns the requested file.

## Requirements
* Rust 1.50 or later
* Actix framework (4.x)
* Tokio runtime (1.x)

# License
This project is licensed under the Mozilla Public License 2.0 (MPL-2.0). Please refer to the [LICENSE](LICENSE) file for more details.

# Contributing
If you'd like to contribute to fexon, feel free to fork the repository and create a pull request. Contributions are always welcome!

1. Fork the repository.
2. Create a new branch (git checkout -b feature-name).
3. Commit your changes (git commit -am 'Add feature').
4. Push the branch (git push origin feature-name).
5. Create a new pull request.