#file-server #http-file #delete #patch #post #methods #directory

bin+lib crud-file-server

A simple HTTP file server with POST, GET, PUT, PATCH and DELETE methods

3 releases (breaking)

0.3.0 Apr 12, 2021
0.2.0 Apr 12, 2021
0.1.0 Apr 7, 2021

#1244 in HTTP server

MIT license

18KB
107 lines

crud-file-server
build license crates docker

A simple HTTP file server with POST, GET, PUT, PATCH and DELETE methods.

Environment Variables

  • DIRECTORY – directory path to write to and read files from
    default: DIRECTORY=content
  • SERVER_ADDR – server socket address
    default: SERVER_ADDR=0.0.0.0:8000

Example

Start

$ cargo run

Create (upload)

$ curl localhost:8000 -d Hello
3718021f-1c23-4dcb-9a90-6d1a74709744

Read (download)

$ curl localhost:8000/3718021f-1c23-4dcb-9a90-6d1a74709744
Hello

Update (overwrite)

$ curl localhost:8000/3718021f-1c23-4dcb-9a90-6d1a74709744 -X put -d Hey
$ curl localhost:8000/3718021f-1c23-4dcb-9a90-6d1a74709744
Hey

Update (append)

$ curl localhost:8000/3718021f-1c23-4dcb-9a90-6d1a74709744 -X patch -d ', World!'
$ curl localhost:8000/3718021f-1c23-4dcb-9a90-6d1a74709744
Hey, World!

Delete

$ curl localhost:8000/3718021f-1c23-4dcb-9a90-6d1a74709744 -X delete

Docker Image

$ docker run -p 8000:8000 rasmusmerzin/crud-file-server

Cargo Crate

$ cargo install crud-file-server

Dependencies

~10–23MB
~320K SLoC