ooni-probe-cli/internal/measurex
Simone Basso 6a935d5407
fix(netxlite): ensure HTTP errors are always wrapped (#584)
1. introduce implementations of HTTPTransport and HTTPClient
that apply an error wrapping policy using the constructor
for a generic top-level error wrapper

2. make sure we use the implementations in point 1 when we
are constructing HTTPTransport and HTTPClient

3. make sure we apply error wrapping using the constructor for
a generic top-level error wrapper when reading bodies

4. acknowledge that error wrapping would be broken if we do
not return the same classification _and_ operation when we wrap
an already wrapped error, so fix the to code to do that

5. acknowledge that the classifiers already deal with preserving
the error string and explain why this is a quirk and why we
cannot remove it right now and what needs to happen to safely
remove this quirk from the codebase

Closes https://github.com/ooni/probe/issues/1860
2021-11-06 17:49:58 +01:00
..
archival.go fix(measurex): use same keys of the OONI data format (#572) 2021-11-05 10:46:45 +01:00
db.go fix(measurex): use same keys of the OONI data format (#572) 2021-11-05 10:46:45 +01:00
dialer.go fix(measurex): use same keys of the OONI data format (#572) 2021-11-05 10:46:45 +01:00
dnsx.go fix(measurex): use same keys of the OONI data format (#572) 2021-11-05 10:46:45 +01:00
doc.go feat(measurex): refactored measurement library (#528) 2021-09-30 01:24:08 +02:00
endpoint.go feat(measurex): refactored measurement library (#528) 2021-09-30 01:24:08 +02:00
failure.go fix(measurex): use same keys of the OONI data format (#572) 2021-11-05 10:46:45 +01:00
http.go fix(netxlite): ensure HTTP errors are always wrapped (#584) 2021-11-06 17:49:58 +01:00
logger.go feat(measurex): refactored measurement library (#528) 2021-09-30 01:24:08 +02:00
measurement.go fix(measurex): use same keys of the OONI data format (#572) 2021-11-05 10:46:45 +01:00
measurer.go fix(measurex): allow API user to choose parallelism (#581) 2021-11-05 14:37:03 +01:00
oddity.go feat(measurex): refactored measurement library (#528) 2021-09-30 01:24:08 +02:00
quic.go fix(measurex): use same keys of the OONI data format (#572) 2021-11-05 10:46:45 +01:00
resolver.go fix(measurex): use same keys of the OONI data format (#572) 2021-11-05 10:46:45 +01:00
tls.go fix(measurex): use same keys of the OONI data format (#572) 2021-11-05 10:46:45 +01:00
tracing.go feat(measurex): refactored measurement library (#528) 2021-09-30 01:24:08 +02:00
utils.go feat(measurex): refactored measurement library (#528) 2021-09-30 01:24:08 +02:00