Build the image pipeline in pixad's fx graph (closes #313)
check / check (push) Canceled after 0s
check / check (push) Canceled after 0s
The new package internal/providers builds the cache, the fetcher, the processor, the image service, the session manager and the encrypted URL generator from the config. pixad's fx graph provides them with providers.Constructors(), and handlers.New receives them built. The server tests build the same graph, with only the fetcher's dial function replaced. database.New opens the database, so these parts can read it while fx builds them; the cache's stop hook still runs before the database's. Each setting's default is declared in internal/config, and internal/providers works out the default cache_max_bytes. The cache's MaxBytes is the one value for the disk cache limit, and 0 turns the disk cache off. The fetcher and the processor take explicit values. Model: opus-5-5
This commit was merged in pull request #330.
This commit is contained in:
@@ -30,6 +30,30 @@ P2: security: per-origin rate limiting
|
||||
|
||||
# Completed Steps
|
||||
|
||||
- 2026-10-26 pixad's fx graph builds the image pipeline (closes #313).
|
||||
`database.New` now opens the database, so the parts below can read it while
|
||||
they are built; its stop hook still runs after the cache's. The cache's
|
||||
`MaxBytes` is the one value for the disk cache limit, and 0 turns the disk
|
||||
cache off. For an omitted `cache_max_bytes`, `internal/providers` works out
|
||||
`config.DefaultCacheMaxBytes` before it builds the cache. `internal/app` and
|
||||
the server tests build the parts below with `providers.Constructors()`; the
|
||||
image proxy test replaces only the fetcher's dial function.
|
||||
- Built by the providers in `internal/providers`, and given to
|
||||
`handlers.New`:
|
||||
- the cache
|
||||
- the fetcher
|
||||
- the processor
|
||||
- the image service
|
||||
- the session manager
|
||||
- the encrypted URL generator
|
||||
- Removed:
|
||||
- `initImageService` and `handlers.Params.Fetcher`
|
||||
- `CacheConfig.UseDefaultMaxBytes`, `CacheConfig.DisableDiskCache` and
|
||||
`Cache.disabled`
|
||||
- `httpfetcher.DefaultConfig()` and the fetcher's copies of setting
|
||||
defaults
|
||||
- `imageprocessor.DefaultMaxInputBytes`, and the processor's defaults
|
||||
for a zero `MaxInputBytes` or `MaxConcurrentProcessing`
|
||||
- 2026-10-26 the code nothing in production called is gone (closes #312). The
|
||||
handlers tests sign their image URLs with `generateSignedURL`, a test helper
|
||||
that writes them as the removed generator did. Removed:
|
||||
|
||||
Reference in New Issue
Block a user