refactor(tracex): do not depend on strings for event names (#777)
Rather than matching a string, match a type. This is more robust considering future refactorings. We're confident the names did not change in _this_ refactoring because we're still testing the same strings in the tests. Part of https://github.com/ooni/probe/issues/2121
This commit is contained in:
parent
8f7e3803eb
commit
c740be987b
16 changed files with 533 additions and 340 deletions
|
|
@ -24,24 +24,22 @@ type SaverMetadataHTTPTransport struct {
|
|||
|
||||
// RoundTrip implements RoundTripper.RoundTrip
|
||||
func (txp SaverMetadataHTTPTransport) RoundTrip(req *http.Request) (*http.Response, error) {
|
||||
txp.Saver.Write(Event{
|
||||
txp.Saver.Write(&EventHTTPRequestMetadata{&EventValue{
|
||||
HTTPHeaders: httpCloneHeaders(req),
|
||||
HTTPMethod: req.Method,
|
||||
HTTPURL: req.URL.String(),
|
||||
Transport: txp.HTTPTransport.Network(),
|
||||
Name: "http_request_metadata",
|
||||
Time: time.Now(),
|
||||
})
|
||||
}})
|
||||
resp, err := txp.HTTPTransport.RoundTrip(req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
txp.Saver.Write(Event{
|
||||
txp.Saver.Write(&EventHTTPResponseMetadata{&EventValue{
|
||||
HTTPHeaders: resp.Header,
|
||||
HTTPStatusCode: resp.StatusCode,
|
||||
Name: "http_response_metadata",
|
||||
Time: time.Now(),
|
||||
})
|
||||
}})
|
||||
return resp, err
|
||||
}
|
||||
|
||||
|
|
@ -67,16 +65,14 @@ type SaverTransactionHTTPTransport struct {
|
|||
|
||||
// RoundTrip implements RoundTripper.RoundTrip
|
||||
func (txp SaverTransactionHTTPTransport) RoundTrip(req *http.Request) (*http.Response, error) {
|
||||
txp.Saver.Write(Event{
|
||||
Name: "http_transaction_start",
|
||||
txp.Saver.Write(&EventHTTPTransactionStart{&EventValue{
|
||||
Time: time.Now(),
|
||||
})
|
||||
}})
|
||||
resp, err := txp.HTTPTransport.RoundTrip(req)
|
||||
txp.Saver.Write(Event{
|
||||
txp.Saver.Write(&EventHTTPTransactionDone{&EventValue{
|
||||
Err: err,
|
||||
Name: "http_transaction_done",
|
||||
Time: time.Now(),
|
||||
})
|
||||
}})
|
||||
return resp, err
|
||||
}
|
||||
|
||||
|
|
@ -101,12 +97,11 @@ func (txp SaverBodyHTTPTransport) RoundTrip(req *http.Request) (*http.Response,
|
|||
return nil, err
|
||||
}
|
||||
req.Body = httpSaverCompose(data, req.Body)
|
||||
txp.Saver.Write(Event{
|
||||
txp.Saver.Write(&EventHTTPRequestBodySnapshot{&EventValue{
|
||||
DataIsTruncated: len(data) >= snapsize,
|
||||
Data: data,
|
||||
Name: "http_request_body_snapshot",
|
||||
Time: time.Now(),
|
||||
})
|
||||
}})
|
||||
}
|
||||
resp, err := txp.HTTPTransport.RoundTrip(req)
|
||||
if err != nil {
|
||||
|
|
@ -118,12 +113,11 @@ func (txp SaverBodyHTTPTransport) RoundTrip(req *http.Request) (*http.Response,
|
|||
return nil, err
|
||||
}
|
||||
resp.Body = httpSaverCompose(data, resp.Body)
|
||||
txp.Saver.Write(Event{
|
||||
txp.Saver.Write(&EventHTTPResponseBodySnapshot{&EventValue{
|
||||
DataIsTruncated: len(data) >= snapsize,
|
||||
Data: data,
|
||||
Name: "http_response_body_snapshot",
|
||||
Time: time.Now(),
|
||||
})
|
||||
}})
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue