Skip to content

rasmusmerzin/crud-file-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


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
3
$ curl localhost:8000/3718021f-1c23-4dcb-9a90-6d1a74709744
Hey

Update (append)

$ curl localhost:8000/3718021f-1c23-4dcb-9a90-6d1a74709744 -X patch -d ', World!'
11
$ 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