Commit Graph

1938 Commits

Author SHA1 Message Date
DarthSim
08d225ccbf Fix vips.Image.IsAnimated when only one page is loaded 2025-09-02 18:22:20 +03:00
DarthSim
ac48257772 Refine processing.ProcessImage 2025-09-02 19:52:56 +06:00
DarthSim
84824a544e Merge branch 'master' into version/4 2025-08-30 22:07:49 +03:00
DarthSim
215fcfee1c Tune HTTP/2 client for performance 2025-08-30 21:54:35 +03:00
DarthSim
0d17d8f421 asyncbuffer: set io.ErrUnexpectedEOF before indicating that we finished reading 2025-08-29 21:19:55 +03:00
Victor Sokolov
c6a95facbb headerwriter in processing_handler.go (#1507)
* headerwriter in processing_handler.go

* Remove not required etag tests

* ETagEnabled, LastModifiedEnabled true by default

* Changed Passthrough signature

* Removed etag package

* Merge writeDebugHeaders*
2025-08-27 15:20:10 +02:00
DarthSim
49791b03a2 Cancel request in streaming handler only if it exists 2025-08-26 20:45:30 +03:00
DarthSim
b5b31ebfb7 Remove imagefetcher.bodyReader; Don't cancel request on error in FetchImage 2025-08-26 20:40:02 +03:00
DarthSim
9fe084d477 Properly close gzipped response body 2025-08-26 20:27:13 +03:00
DarthSim
196b4dfc46 Mark non-exact routes via path 2025-08-26 21:05:04 +06:00
DarthSim
f12fe8414b Validate imagefetcher config 2025-08-26 16:56:35 +03:00
DarthSim
5bbdc37cea Add UserAgent and DownloadTimeout to imagefetcher config 2025-08-26 16:44:39 +03:00
DarthSim
5a945984a7 Add helpers for copying HTTP headers 2025-08-26 19:27:40 +06:00
Victor Sokolov
6c9d26e8f5 IMG-54: NewDefaultConfig(), routes ordering exact/non-exact (#1504)
* NewDefaultConfig() + LoadFromEnv()

* Route order

* Changed route switch

* categoryConfig

* Use Default() in tests
2025-08-25 19:52:29 +02:00
Victor Sokolov
ec566ce1c0 IMG-53: refactor stream.go (#1503)
* stream_test.go

* StreamHandler

* stream.go replaced with handlers/stream

* Small fixes

* Separate SetMaxAge/SetForceExpires

* Fallback image TTL

* Added existing TTL check to SetIsFallbackImage

* guard clause SetIsFallbackImage

* Removed old stream.go
2025-08-25 10:25:26 +02:00
DarthSim
3f205451c7 Use imagefetcher.WrapError in wrapDownloadError 2025-08-21 18:30:18 +03:00
DarthSim
d38720a0b8 Wrap asyncbuffer and imageDataAsyncBuffer errors 2025-08-21 21:27:45 +06:00
DarthSim
7cc9620cf7 Update changelog 2025-08-21 16:33:17 +03:00
DarthSim
4706416d5b Pass context.Background() to server.Shutdown() 2025-08-20 20:30:55 +03:00
DarthSim
f100707dee Register favicon and health handlers before processing handler 2025-08-20 20:26:08 +03:00
DarthSim
9ffc9716d4 Wrap errors in panic handler 2025-08-20 20:24:49 +03:00
DarthSim
7f0bcdb788 Add category to downloading error 2025-08-20 20:23:41 +03:00
DarthSim
f23cf5b2f9 Merge branch 'master' into version/4 2025-08-20 18:38:10 +03:00
DarthSim
f50176f95b TIFF supports color profiles 2025-08-20 18:35:01 +03:00
Victor Sokolov
697c2ddcd6 IMG-52: rename metrics to monitoring (#1498)
* Removed bufpool

* metrics -> monitoring

* metricsMeta -> monitoringMeta

* monitoring.Meta -> Filter
2025-08-20 17:17:18 +02:00
DarthSim
08d20d46e6 Merge branch 'master' into version/4 2025-08-20 17:01:34 +03:00
DarthSim
83e64ff2d3 TransformColourProfile -> TransformColourProfileToSRGB 2025-08-20 17:00:54 +03:00
DarthSim
14bb84fa1f Merge branch 'master' into version/4 2025-08-20 16:40:29 +03:00
DarthSim
e1764ad580 Rename processing steps: importColorProfile -> colorspaceToProcessing, exportColorProfile -> colorspaceToResult 2025-08-20 16:35:37 +03:00
DarthSim
d7772499b9 Fix keeping copyright info in EXIF 2025-08-20 16:11:30 +03:00
DarthSim
b5185bd3a0 Update changelog 2025-08-20 15:54:07 +03:00
Victor Sokolov
15bd00b221 IMG-51: router -> server ns, handlers ns, added error to handler ret val (#1494)
* Introduced server, handlers, error ret in handlerfn

* Server struct with tests

* replace checkErr with return
2025-08-20 14:31:11 +02:00
DarthSim
0ddefe1b85 Add expected data length to asyncbuffer to allow seeking from the end without waiting for reader 2025-08-20 00:32:26 +06:00
DarthSim
c95725b12f Don't use io.ReadFull in io.Reader wrappers 2025-08-19 18:46:56 +06:00
DarthSim
62565c79db Use NewGoroutine when starting a NewRelic segment 2025-08-18 20:44:38 +03:00
DarthSim
677b5e4872 Merge branch 'master' into version/4 2025-08-16 21:31:17 +03:00
DarthSim
46ba23a775 Sort log keys by both priority and name; Add priority for "source" key 2025-08-16 21:30:00 +03:00
DarthSim
bb07cb8f2e Remove svg.SanitizeError check from processing handler 2025-08-16 20:25:12 +03:00
DarthSim
e5c72270bb Don't check dimensions for vector formats; Simplify guard scale of vector images 2025-08-16 19:54:50 +03:00
DarthSim
cac693c2db Merge branch 'master' into version/4 2025-08-16 18:14:41 +03:00
DarthSim
7bdae0fb0a Fix X-Result-Height debug header for animated images 2025-08-16 18:12:05 +03:00
DarthSim
6d36ccba6d Fix getImageSize for animated images 2025-08-16 18:06:16 +03:00
DarthSim
61418f55b8 Add priority to imagetype detectors 2025-08-16 02:28:56 +06:00
DarthSim
aff48f97b5 Return error from SVG detector unless it is EOF or parser.Error 2025-08-16 02:06:57 +06:00
DarthSim
bd5751737c Return detector errors from imagetype.Detect 2025-08-16 02:06:57 +06:00
DarthSim
f8e22be4a2 Fix imagedata.registry.detect 2025-08-15 21:59:04 +03:00
DarthSim
2f40a9b430 bufreader: fix Rewind+Read after EOF; Fix too much data read in fetch 2025-08-15 22:50:42 +06:00
DarthSim
a3c633f884 Remove debug Println 2025-08-15 18:40:33 +03:00
DarthSim
c8b67610e4 Fix possible call to nil finishFn in asyncbuffer 2025-08-15 14:02:04 +03:00
Victor Sokolov
af890f8b71 IMG-46: Call finishFn on download finished (metrics) (#1487)
* Skip goes to processing

* Call finishFn on download finished

* defer DownloadFinished in DownloadSync
2025-08-15 12:43:57 +02:00