diff --git a/internal/measurex/archival.go b/internal/measurex/archival.go index 2feb65f..055d250 100644 --- a/internal/measurex/archival.go +++ b/internal/measurex/archival.go @@ -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 } // diff --git a/internal/measurex/measurement.go b/internal/measurex/measurement.go index 1d04652..0cac00a 100644 --- a/internal/measurex/measurement.go +++ b/internal/measurex/measurement.go @@ -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.