fix(measurex): handle case where TH is nil (#610)

This case happens when the TH fails.

See https://github.com/ooni/probe/issues/1895.
This commit is contained in:
Simone Basso 2021-11-22 20:16:38 +01:00 committed by GitHub
parent 7f0fb5e619
commit 5b9f701317
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 5 deletions

View File

@ -496,11 +496,14 @@ type ArchivalTHMeasurement struct {
}
// NewArchivalTHMeasurement creates the archival representation of THMeasurement.
func NewArchivalTHMeasurement(in *THMeasurement) *ArchivalTHMeasurement {
return &ArchivalTHMeasurement{
DNS: NewArchivalDNSMeasurementList(in.DNS),
Endpoints: NewArchivalHTTPEndpointMeasurementList(in.Endpoints),
func NewArchivalTHMeasurement(in *THMeasurement) (out *ArchivalTHMeasurement) {
if in != nil {
out = &ArchivalTHMeasurement{
DNS: NewArchivalDNSMeasurementList(in.DNS),
Endpoints: NewArchivalHTTPEndpointMeasurementList(in.Endpoints),
}
}
return
}
//

View File

@ -31,7 +31,8 @@ type URLMeasurement struct {
// if we choose to follow redirections.
RedirectURLs []string
// TH is the measurement collected by the TH.
// TH is the measurement collected by the TH. This field
// will be nil if we cannot contact the TH.
TH *THMeasurement
// TotalRuntime is the total time to measure this URL.