$ cargo build --release
$ . ./start.sh-
POST
/recordinterface Request{ title: string, lang: string, content: string, expiration: number, }
interface Response{ key: string }
-
GET
/record/{key}interface Response{ title: string, lang: string, content: string, saving_time: number, expiration: number, view_count: number }
-
Error
interface Error{ code: number, message: string }
Prefix: PASTEBIN_
Shared Variable
| var | default | unit | description |
|---|---|---|---|
| ADDR | localhost:8088 | Binding address | |
| CRYPT_KEY | magic | Crypto key for short url | |
| MAX_POST_SIZE | 32768 | byte | Max length of POST request body |
Built-in Memory Store
| var | default | unit | description |
|---|---|---|---|
| MAX_STORE_SIZE | 104857600 | byte | An ambiguous size count for controlling server memory usage |
| MAX_EXPIRATION | 604800 | second | Max expiration time |
| CLEAN_DURATION | 5000 | millisecond | GC interval |
Redis Store
| var | default | unit | description |
|---|---|---|---|
| REDIS_URL | set PASTEBIN_REDIS_URL to enable redis store |
.env
RUST_LOG=info
PASTEBIN_ADDR=localhost:8000
PASTEBIN_CRYPT_KEY=MyImportantSecret
PASTEBIN_REDIS_URL=redis://localhost:6379