DatadogClient class
A composable client for use with the http
package that supports tracking
network requests and sending them to Datadog.
If the RUM feature is enabled, the SDK will send information about RUM
Resources (calling DatadogRum.startResource
, DatadogRum.stopResource
, and
DatadogRum.stopResourceWithErrorInfo
) for all intercepted requests.
This can additionally set tracing headers on your requests, which allows for
distributed tracing. You can set which format of tracing header using the
tracingHeaderTypes
parameter. Multiple tracing formats are allowed. The
percentage of resources traced in this way is determined by
DatadogRumConfiguration.traceSampleRate
.
To specify which hosts are 1st party (and therefore should have tracing
Spans sent), see DatadogConfiguration.firstPartyHosts
. You can also set
first party hosts after initialization by setting DatadogSdk.firstPartyHosts
If you need to ignore specific endpoints, for example if you are using
another tracking library like datadog_gql_link
, you can ignore specific
url patterns with the ignoreUrlPatterns parameter. Any URLs that are match
any of the provided regular expressions will not be tracked by this client.
DatadogClient only modifies calls made through itself, unlike
DatadogTrackingHttpClient, which overrides all calls made by HttpClient
and includes network calls made by the Flutter SDK. However, DatadogClient
allows you to compose with other http.BaseClient
based libraries like
cupertino_http
and cronet_http
, which DatadogTrackingHttpClient would
miss.
DatadogClient and DatadogTrackingHttpClient can be used together if needed, and will not interfere with each other.
See also DatadogTrackingHttpClient
Constructors
-
DatadogClient({required DatadogSdk datadogSdk, DatadogClientAttributesProvider? attributesProvider, List<
RegExp> ignoreUrlPatterns = const [], Client? innerClient})
Properties
- attributesProvider → DatadogClientAttributesProvider?
-
final
- datadogSdk → DatadogSdk
-
final
- hashCode → int
-
The hash code for this object.
no setterinherited
-
ignoreUrlPatterns
→ List<
RegExp> -
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
close(
) → void -
Closes the client and cleans up any resources associated with it.
inherited
-
delete(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP DELETE request with the given headers to the given URL.
inherited
-
get(
Uri url, {Map< String, String> ? headers}) → Future<Response> -
Sends an HTTP GET request with the given headers to the given URL.
inherited
-
head(
Uri url, {Map< String, String> ? headers}) → Future<Response> -
Sends an HTTP HEAD request with the given headers to the given URL.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
patch(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP PATCH request with the given headers and body to the given
URL.
inherited
-
post(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP POST request with the given headers and body to the given
URL.
inherited
-
put(
Uri url, {Map< String, String> ? headers, Object? body, Encoding? encoding}) → Future<Response> -
Sends an HTTP PUT request with the given headers and body to the given
URL.
inherited
-
read(
Uri url, {Map< String, String> ? headers}) → Future<String> -
Sends an HTTP GET request with the given headers to the given URL and
returns a Future that completes to the body of the response as a String.
inherited
-
readBytes(
Uri url, {Map< String, String> ? headers}) → Future<Uint8List> -
Sends an HTTP GET request with the given headers to the given URL and
returns a Future that completes to the body of the response as a list of
bytes.
inherited
-
send(
BaseRequest request) → Future< StreamedResponse> - Sends an HTTP request and asynchronously returns the response.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited