79bd562d8e
Clippy lints
2021-09-12 10:42:44 -05:00
68e4f1f4c8
Make uploads cancel-safe
2021-09-11 19:53:26 -05:00
bf1a16d7d3
Abort process writer task if reader is dropped
2021-09-11 16:35:38 -05:00
0ffd66c74e
Add and document request deadlines
2021-09-11 15:31:00 -05:00
c1b2c7706a
Add back range header support for thumbnail on generation
2021-09-09 16:35:07 -05:00
45606f4579
Add application-level dimension limiting, bail on failed processes
2021-09-09 14:16:12 -05:00
a0f7148924
Cargo fmt
2021-09-06 12:09:25 -05:00
0d5ce07b20
Convert OnceCell to Lazy, fmt
2021-09-06 12:08:13 -05:00
ac79a9d5cd
Use futures-util instead of hand-implemented types
2021-09-05 20:00:31 -05:00
80044616f9
Make CancelSafeProcessor impl more concise, format code
2021-09-05 19:05:58 -05:00
810831ca73
Don't process images that are already being processed
2021-09-05 17:15:30 -05:00
e88b9a024a
Add semaphore around process operations
2021-09-04 16:01:48 -05:00
e21fd29c09
Drop unneeded dependencies
2021-09-04 14:20:31 -05:00
08c3169d3f
Fewer streams
2021-09-04 12:42:40 -05:00
1119ed740e
WIP: Try to pass AsyncRead types around instead of Streams
2021-09-03 19:53:53 -05:00
43f94a3d5d
Fix imagemagick policy for gifs
2021-08-31 12:14:23 -05:00
ee215bfa5e
Version v0.3.0-alpha.21-in-mem
2021-08-31 11:02:30 -05:00
a6f2082b37
Spawn new task to avoid complexity/bugs
2021-08-31 10:17:08 -05:00
c1d4e3b87e
Start work on piping bytes around from memory instead of going to disk and back
2021-08-30 21:19:47 -05:00
3578303104
Version v0.3.0-alpha.19
2021-08-29 14:56:28 -05:00
18c6481fff
Print outfile when converting / processing
2021-08-29 14:16:55 -05:00
3066e4d350
Use safe_move_file to create thumbnail image
2021-08-29 12:12:22 -05:00
98ec2c5a90
Magick on tmp files, allow tmp files in policy
2021-08-29 11:51:56 -05:00
91207e1a6f
Version v0.3.0-alpha.15
2021-08-29 00:05:02 -05:00
7c371c182a
Version v0.3.0-alpha.14
2021-08-28 23:15:29 -05:00
db95c85bdf
Version v0.3.0-alpha.13-shell-out-r4
2021-08-28 22:05:49 -05:00
d4733321ed
Version v0.3.0-alpha.13-shell-out-r3
2021-08-28 20:37:53 -05:00
edd6bb4a60
Replace all bindings with calls to external binaries
2021-08-28 17:15:14 -05:00
7fd707c8df
Begin work on spawning processes rather than binding to c libs
2021-08-25 21:46:11 -05:00
a2c17a950b
Update actix deps
2021-06-26 13:10:28 -05:00
120184dd0c
Update dependencies
2021-06-19 14:39:41 -05:00
5e452ef27e
Update actix deps
2021-04-17 14:59:42 -05:00
7aa32b9b3b
Update actix deps
2021-03-09 20:51:03 -06:00
79b26a1dda
Update to actix-web 4.0.0-beta.3
2021-02-10 16:57:42 -06:00
9797e2e3fc
Go back to actix-fs
2021-01-18 19:54:39 -06:00
8c1f60101b
Add module for Range Header operations
...
Switch from actix-fs to async-fs
2021-01-18 17:11:32 -06:00
John Doe
da237eacae
fmt
2021-01-14 11:26:17 -05:00
John Doe
c663337bcd
ranged support for process endpoint, bugfixes
2021-01-14 08:52:11 -05:00
John Doe
61061f0451
range header support
2021-01-13 20:08:04 -05:00
c0520d181b
Randomize tmp folder name, clean tmp folder on exit
2021-01-05 11:51:13 -06:00
2e9fb2a830
Update download route to return 'details'
2021-01-05 00:28:17 -06:00
0acdfffe08
Return details in upload method, clippy nits
2020-12-25 20:39:19 -06:00
a750364e27
Expose cropping
2020-12-16 18:20:06 -06:00
c0a20588d3
Add content type, width, height to Details, add details endpoints
2020-12-10 12:49:10 -06:00
0bf7e0f688
Add initial details implementation
...
Details is an object generated for each image, containing
it's created_at date to properly set response headers. It
also can be expanding in the future to include an image's
dimensions, which we can expose via an API endpoint.
In addition to this, Details allows us the ability to
re-generate processed images. For now, all images which
do not yet have an associated Details will be
re-generated upon access. Details is set for each
thumbnail on generation, so this will only happen once
for each image.
2020-12-09 23:05:07 -06:00
4bd99431e2
Generate image bytes based on request format
2020-11-01 14:25:21 -06:00
4ce7b79b86
Safely create parent tmp dir when needed
2020-10-16 17:48:42 -05:00
b64e3615be
Switch many migration logs to debug, flush changes to new db
2020-10-16 16:02:48 -05:00
577d358da1
Enhance migrations to be more resilient to panics
2020-10-16 15:28:45 -05:00
f4f1ae6939
Update migration string
2020-10-10 19:38:07 -05:00
04e5d45679
Add Last-Modified header, extend MaxAge cache
2020-10-02 15:38:52 -05:00
6de19d17b6
Clean migration, don't use db tree
2020-09-14 16:42:31 -05:00
2515de00c2
Stable actix
2020-09-14 10:52:18 -05:00
4a3bd42c14
ffmpeg features, sled 034
2020-09-10 11:12:42 -05:00
7c0a407568
Add privileged purging, alias <-> filename relation queries
2020-07-11 17:22:45 -05:00
fd809e4a0b
Make 'import' a protected method
2020-07-11 16:28:49 -05:00
de3e04a411
Support mp4
2020-07-11 16:01:09 -05:00
d28d56fb9a
Fix odd-pixeled gif conversion
2020-07-11 15:49:33 -05:00
510f955cc0
Migrate from 0.32.0-rc1
2020-07-11 15:40:40 -05:00
cc37f0dd8a
Remove redundant default info, update readme help, add 'check' helper
2020-06-25 18:17:05 -05:00
a746793187
Enable mp4 with ffmpeg
2020-06-24 11:58:46 -05:00
eb685f99e7
Use sample for thumbnail generation
2020-06-16 21:05:06 -05:00
6dab3b30e8
Purge image
2020-06-16 18:13:22 -05:00
0fef7abc67
Validate with magickwand
2020-06-16 16:34:37 -05:00
df85faff8b
Start work on webp support
2020-06-16 15:55:24 -05:00
0801c1141f
dev build works with imagemagick
2020-06-15 14:20:25 -05:00
84c10edd0e
Improve bounds check, don't save variant unless it's been changed
2020-06-14 23:10:30 -05:00
928fb8f277
Replace 'move' with 'copy+delete'
2020-06-14 22:35:00 -05:00
154914e61a
Use rexiv2 for metadata removal
2020-06-14 21:41:45 -05:00
24f09408fb
Further clean tracing logs
2020-06-14 13:56:42 -05:00
3b4c5b646a
Do better logging
2020-06-14 10:07:31 -05:00
68721fb269
Replace log with tracing, only hardcode 'info' if RUST_LOG is empty
2020-06-13 21:28:06 -05:00
53345823bb
Better handle upload errors
2020-06-13 14:04:33 -05:00
6de89a3318
Don't use image crate to validate gifs
2020-06-11 11:46:00 -05:00
bfdfb737ed
Update deps
2020-06-10 19:34:25 -05:00
9b45751f70
Add import API for filename preservation
2020-06-10 19:26:54 -05:00
1fbb5005ef
Keep track of image variants rather than walking fs on delete
2020-06-09 18:40:01 -05:00
9a3b8dd4d7
Add GET for deleting images
2020-06-09 17:37:48 -05:00
0e7d4fc34f
Upgrading rust-musl and alpine, adding filter env var.
2020-06-07 18:29:22 -04:00
15cf50e3b1
Merge remote-tracking branch 'asonix/master'
2020-06-07 16:21:29 -04:00
a7bc7c0121
Adding docker and docker-compose.
2020-06-07 16:21:25 -04:00
4f55251310
Add filter whitelist
2020-06-07 14:12:19 -05:00
35aca6a426
Unneeded mut
2020-06-07 13:03:36 -05:00
ab8a24f25e
Identity doesn't alter path
2020-06-07 13:02:49 -05:00
fe0082a23b
Add a concept of 'processors' to allow multiple image transformations
2020-06-07 12:51:45 -05:00
d71b86a81e
Put image crate actions behind web::block
2020-06-07 11:34:44 -05:00
fc1ae4be49
Add endpoint for downloading remote images
2020-06-07 10:59:58 -05:00
1b526f4c1f
Remove redundant code
2020-06-06 22:24:33 -05:00
b7a66c7863
Remove outdated TODO
2020-06-06 22:21:42 -05:00
18e7aa8d06
Enable compression
2020-06-06 21:14:31 -05:00
459db42a88
Add optional image format coersion
2020-06-06 20:44:26 -05:00
981e146696
Add StructOpt
2020-06-06 19:54:06 -05:00
fcf18ceca5
Background deletions
2020-06-06 19:33:29 -05:00
d60862a0d0
Implement delete tokens
2020-06-06 19:29:15 -05:00
7298e500cb
Introduce alias system
2020-06-06 17:43:33 -05:00
65b83c6a06
Split into multiple files
2020-06-06 16:41:17 -05:00
6d7673dfcc
A Simple duplicate-resolving image host
2020-06-06 16:02:26 -05:00