Skip to content

chart/4.39.71

@pcapriotti pcapriotti tagged this 07 Dec 08:38
* Remove redundant copy of error body from Wai.Error

* Prevent unnecessary federator error wrapping

Federator is return Wai errors extended with extra data. However, that
extra data contains the infrastructure domain of the target backend,
which is not the right domain to show in the error.

Furthermore, when running integration tests locally, the domain reported
there is simply `localhost`, which is not considered a valid domain by
our JSON parser. That caused the error not to be recognised as a valid
Wai.Error, and therefore the error-catching middleware was rewrapping
it.

* Remove dead code

* Remove more dead code.

The `AsWai` class had a `waiErrorDescription` method, which forced every
error to implement that function even if they were not using it to
construct a `Wai.Error` value.  This is now gone, which means that two
of the errors don't have to implement it.

* Add inner error to Wai.Error

This can be used to represent nested failures (e.g. a federator
reporting a remote error) without having to serialise the nested error
into the message.

* Add nested error to federation remote error value

* Add CHANGELOG entry

* Test error wrapping

This test creates a fake ingress that always returns an error, then
tries to access it by making a federated user query.

* Lint

* Fix federation denied check in startBackend

* Make sure mock server is killed in the finaliser

* Fix root path in integration Mock

* Lint

* Use correct certificate paths in CI

* Set fallback inner error

* Spawn federator instead of ingress on error test

* Minor refactoring

Co-authored-by: Mango The Fourth <[email protected]>

* Restore explicit pattern matching

* Avoid boolean argument in mock server

---------

Co-authored-by: Mango The Fourth <[email protected]>
Assets 2
Loading