Commit Graph

114 Commits

Author SHA1 Message Date
Leonidas Spyropoulos 1050448ebd
chore(deps): replace unmaintained dotenv with dotenvy (#30)
Fixes: #25

Signed-off-by: Leonidas Spyropoulos <artafinde@archlinux.org>3
2022-10-04 10:02:51 +00:00
Leonidas Spyropoulos 5cdbc8da61
feat(server): expose version as endpoint (#29)
Fixes: #27

Signed-off-by: Leonidas Spyropoulos <artafinde@archlinux.org>
2022-10-04 09:38:37 +00:00
TheTechRobo 37cb4d3fcb
feat(server): add landing page (#26)
* feat(server): add landing page

Fixes orhun/rustypaste#13

* feat(server): allow using {REPOSITORY} in landing page

* fix(server): Get rid of unused import, add line about expiration

* chore(fmt): cargo fmt

* fix(tests): inject app data for fixing index test

* feat(server): redirect to GitHub repository if landing page is not specified

* test(fixtures): add fixture test for landing page

Co-authored-by: Orhun Parmaksız <orhunparmaksiz@gmail.com>
2022-10-03 21:27:35 +00:00
Orhun Parmaksız 1e1da30b83
fix(lints): apply clippy suggestions 2022-08-14 12:11:03 +02:00
Orhun Parmaksız 3467038353
feat(env): support configuring logger from .env file 2022-05-21 09:07:37 +03:00
Orhun Parmaksız 63c79b8297
feat(log): print the configuration as trace log at startup 2022-05-21 06:26:17 +03:00
Orhun Parmaksız 48063d736a
feat(config): allow omitting MIME settings from the config 2022-05-21 06:25:23 +03:00
Orhun Parmaksız 87d2423d1a
test(server): add test for duplicate uploads 2022-05-18 09:50:47 +03:00
Orhun Parmaksız 013c6ac810
test(server): add tests for server configuration 2022-05-17 22:38:57 +03:00
Orhun Parmaksız 1f8f462299
test(server): add tests for different paste types 2022-05-17 22:09:24 +03:00
Orhun Parmaksız a330b59dca
fix(lints): apply clippy suggestions for tests 2022-05-16 12:58:41 +03:00
Orhun Parmaksız 657ca8c1d4
fix(server): do not hold the RwLock guard before async calls 2022-05-16 12:34:57 +03:00
Orhun Parmaksız 1d44cbd9c8
test(server): add test for upload 2022-05-16 10:25:59 +03:00
Orhun Parmaksız dd91c50d50
feat(server): support auto-deletion of expired files (#17)
feat(server): support auto-deletion of expired files (#17)

chore(ci): set the number of test threads to 1

feat(config): allow the real-time update of cleanup routine

docs(readme): update README.md about deleting expired files
2022-03-23 16:13:46 +03:00
Orhun Parmaksız a3e266b8b4
refactor(server): define global constants for environment variables 2022-03-17 15:54:08 +03:00
Orhun Parmaksız c48e45d68c
chore(deps): upgrade actix dependencies
closes #18
2022-03-17 15:46:32 +03:00
Orhun Parmaksız 525129ddcb
fix(server): check if the path is a file while serving
closes #19
2022-03-16 16:37:54 +03:00
Orhun Parmaksız 1dd5dcf167
fix(config): unset `CONFIG` environment variable to avoid conflicts 2022-03-13 21:12:10 +03:00
Orhun Parmaksız 94516c95bb
feat(config): support setting the timeout for HTTP requests 2022-03-12 00:35:54 +03:00
Orhun Parmaksız 9e5bd112e7
feat(config): support setting the refresh rate for hot-reloading 2022-03-12 00:02:25 +03:00
Orhun Parmaksız d6ba6ac630
chore(deps): upgrade dependencies 2022-02-25 00:10:52 +03:00
Orhun Parmaksız 6f1dcab15a
fix(lints): apply clippy suggestions 2022-02-24 23:54:54 +03:00
Orhun Parmaksız 3cc40deca0
feat(config): support setting the auth token in config 2022-02-24 23:51:47 +03:00
Orhun Parmaksız ebbe8dbfae
test(paste): update paste test about borrowing the config 2021-12-05 15:27:38 +03:00
Orhun Parmaksız 8f3f89716f
fix(async): drop the RW guard of config before suspend points 2021-12-05 15:03:51 +03:00
Orhun Parmaksız 5cbb41c247
fix(async): clone Ref to avoid holding it across a suspend point 2021-12-05 14:13:25 +03:00
Orhun Parmaksız 8b17137c52
fix(server): gracefully handle the hot-reloading errors 2021-11-16 19:27:18 +03:00
Orhun Parmaksız 7797180937
fix(server): change the config data type for serve route 2021-11-07 17:03:00 +03:00
Orhun Parmaksız 6b3914a54e
chore(lib): import required traits for backwards edition compatibility 2021-11-07 16:25:08 +03:00
Orhun Parmaksız a2de1c3334
feat(config): hot-reload the configuration 2021-11-07 16:06:57 +03:00
Orhun Parmaksız f078a9afa7
fix(server): prevent serving an already expired file 2021-11-07 00:49:31 +03:00
Orhun Parmaksız 3eee294bd9
docs(lib): update the function comment for store_remote_file 2021-11-07 00:01:30 +03:00
Orhun Parmaksız 7a6842e181
feat(paste): support pasting files from remote URLs 2021-11-06 23:55:55 +03:00
Orhun Parmaksız c08fd29a45
feat(paste): make duplicate uploads optional (#7) 2021-10-12 19:35:06 +03:00
orhun 13126e79ce
refactor(paste): use timestamp for expiring one shot files 2021-08-27 16:05:40 +03:00
orhun 92c35fe6df
feat(paste): support setting an expiry date for uploads 2021-08-27 15:54:23 +03:00
orhun 7a510bc2ad
style(paste): use a custom 404 message while serving files 2021-08-26 23:06:05 +03:00
orhun 73359f3534
feat(paste): support disappearing (oneshot) files 2021-08-26 22:57:46 +03:00
orhun 3223c6379c
refactor(paste): associate directories with the paste types 2021-08-26 21:09:33 +03:00
orhun cc385d1aca
refactor(test): use `tests` module for tests 2021-08-09 22:50:01 +03:00
orhun e7ad855f4d
feat(paste): support blacklisting MIME types 2021-08-09 22:48:51 +03:00
orhun 03348cb38f
feat(paste): support overriding MIME types 2021-08-09 22:28:33 +03:00
orhun f3855be2c9
feat(paste): support shortening URLs 2021-08-04 17:35:54 +03:00
orhun 315a649777
fix(upload): prevent sending zero bytes 2021-07-28 00:25:18 +03:00
orhun f4a3c07def
fix(upload): prevent sending empty file name 2021-07-28 00:21:34 +03:00
orhun 315585db36
fix(upload): prevent path traversal on upload directory
closes #2
2021-07-28 00:14:27 +03:00
orhun 60c25e2fbc
fix(upload): check the content length while reading bytes
closes #1
2021-07-27 23:49:35 +03:00
orhun bdf3d69409
docs(project): update the library description 2021-07-26 17:38:28 +03:00
orhun 08496cb41b
feat(server): redirect index to project homepage 2021-07-26 16:05:15 +03:00
orhun 338802cc9b
refactor(config): create the `random` module for generating URLs 2021-07-26 15:34:23 +03:00
orhun 97f47a5a42
refactor(config): remove environment variable prefix 2021-07-24 23:51:23 +03:00
orhun 411f278656
feat(config): use an environment variable for config file path 2021-07-24 20:51:08 +03:00
orhun d538e591ef
chore(project): update project details 2021-07-24 20:46:22 +03:00
orhun ef57b48868
feat(paste): guess the extension if it is not present 2021-07-24 15:09:11 +03:00
orhun 12c204bf03
refactor(server): create auth handler module 2021-07-24 14:38:53 +03:00
orhun 181c8c602c
refactor(server): use .env for auth token 2021-07-24 14:10:30 +03:00
orhun 4c988a446d
test(project): add tests 2021-07-24 13:47:24 +03:00
orhun f67e611781
feat(paste): make pet names configurable 2021-07-24 00:01:16 +03:00
orhun fc425067f7
feat(paste): support using random file names 2021-07-23 23:53:41 +03:00
orhun cc7e295e88
refactor(server): use 400 bad request for invalid content 2021-07-23 23:07:47 +03:00
orhun 53ba3dcac9
feat(server): use logging for erroneous situations 2021-07-23 23:07:01 +03:00
orhun 1413335519
feat(server): support file upload and serving 2021-07-23 22:52:00 +03:00
orhun df0d22dcb3
feat(server): add basic HTTP server implementation 2021-07-20 01:35:52 +03:00
orhun 2d3151292d
Initial commit 2021-07-19 22:16:13 +03:00