Commit Graph

1955 Commits

Author SHA1 Message Date
Viktor Sokolov
5614aee2b4 integration.Suite 2025-09-09 16:11:29 +02:00
Victor Sokolov
2d9ad5c250 IMG-49: Introduced instance (#1512)
* Introduced instance

* Makefile changes
2025-09-09 15:11:37 +02:00
DarthSim
e11afc18a8 Merge branch 'master' into version/4 2025-09-08 22:09:34 +03:00
DarthSim
05066d0601 Remove unneeded NULL check; Init tmp images as NULL 2025-09-08 21:17:30 +03:00
DarthSim
2eb80c7f58 Use VIPS_UNREF instead of g_clear_object 2025-09-08 21:07:11 +03:00
DarthSim
7da78ef191 Add IMGPROXY_GRACEFUL_STOP_TIMEOUT config 2025-09-08 20:32:23 +03:00
DarthSim
d02a678229 Call vips.Shutdown() as close to exit as possible 2025-09-08 20:12:32 +03:00
DarthSim
ac03563506 NewDefaultConfig returns value, not pointer; Nested configs are defined as value 2025-09-06 01:56:53 +03:00
DarthSim
4789810b18 Allow using LoadConfigFromEnv with nil config 2025-09-06 01:21:41 +03:00
DarthSim
a39890b00a LoadFromEnv -> LoadConfigFromEnv 2025-09-06 01:11:26 +03:00
DarthSim
269e28bd62 Fix watermark config load 2025-09-06 01:02:29 +03:00
DarthSim
11a17aea33 Provide actual ctx and processing options to watermark.Get in applyWatermark 2025-09-05 18:22:56 +03:00
Victor Sokolov
37a6ea2bf7 IMG-49: Get rid of global watermark image and fetcher (#1515)
* Get rid of global watermark image

* imagedata.Factory, removed global Fetcher
2025-09-05 16:22:57 +02:00
Victor Sokolov
6f11d950fb imagefetcher -> fetcher (#1514) 2025-09-05 15:31:48 +02:00
Victor Sokolov
caffdcd72b IMG-49: Instance requires transport.Config (#1513)
* transport.Config

* Removed redaundant LocalEnaled
2025-09-05 13:52:27 +02:00
Viktor Sokolov
8bc70491fb processing_handler.go -> handlers/processing 2025-09-05 00:46:25 +06:00
DarthSim
7aec46f146 processing.transformAnimated doesn't need imgdata 2025-09-02 19:39:18 +03:00
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