ooni-probe-cli/internal
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
..
atomicx doc: cleanup and improve for recently moved pkgs (#354) 2021-06-04 11:39:00 +02:00
bytecounter refactor(netxlite): hide details without breaking the rest of the tree (#454) 2021-09-05 14:49:38 +02:00
cmd feat(miniooni): add the --censor flag (#571) 2021-11-03 14:23:47 +01:00
engine fix(measurex): allow API user to choose parallelism (#581) 2021-11-05 14:37:03 +01:00
fsx refactor: merge dnsx and errorsx into netxlite (#517) 2021-09-28 12:42:01 +02:00
humanize fix(all): introduce and use iox.CopyContext (#380) 2021-06-15 13:44:28 +02:00
kvstore doc: cleanup and improve for recently moved pkgs (#354) 2021-06-04 11:39:00 +02:00
measurex fix(netxlite): ensure HTTP errors are always wrapped (#584) 2021-11-06 17:49:58 +01:00
mlablocate refactor: merge dnsx and errorsx into netxlite (#517) 2021-09-28 12:42:01 +02:00
mlablocatev2 refactor: merge dnsx and errorsx into netxlite (#517) 2021-09-28 12:42:01 +02:00
multierror doc: cleanup and improve for recently moved pkgs (#354) 2021-06-04 11:39:00 +02:00
netxlite fix(netxlite): ensure HTTP errors are always wrapped (#584) 2021-11-06 17:49:58 +01:00
ooapi master: update deps and set version to 3.12.0-alpha (#548) 2021-10-20 18:16:40 +02:00
platform fix(internal/platform): support freebsd (#445) 2021-08-20 14:00:06 +02:00
ptx refactor: merge dnsx and errorsx into netxlite (#517) 2021-09-28 12:42:01 +02:00
randx doc: improve and reference existing bug in the code (#356) 2021-06-04 12:50:23 +02:00
runtimex feat: run ~always netxlite integration tests (#522) 2021-09-29 16:04:26 +02:00
scrubber refactor: move scrubbingLogger to the scrubber pkg (#394) 2021-06-22 14:43:58 +02:00
shellx cleanup(shellx): do not directly depend on apex/log (#357) 2021-06-04 14:02:18 +02:00
tunnel cleanup(all): stop using deprecated ioutil functions (#381) 2021-06-15 14:01:45 +02:00
tutorial doc(tutorial): explain the big picture (#582) 2021-11-05 14:51:14 +01:00
version chore: version is now 3.12.0-alpha.2 (#576) 2021-11-05 11:54:19 +01:00
README.md doc(netxlite): revamp the documentation (#523) 2021-09-29 20:21:25 +02:00

Directory github.com/ooni/probe-cli/internal

This directory contains private Go packages.

As a reminder, you can always check the Go documentation of a package by using

go doc -all ./internal/$package

where $package is the name of the package.

Some notable packages:

  • netxlite is the underlying networking library;

  • tutorial contains tutorials on writing new experiments, using measurements libraries, and networking code.