SentryHttpClient class
A http-package compatible HTTP client.
It records requests as breadcrumbs. This is on by default.
It captures requests which throws an exception. This is off by
default, set captureFailedRequests
to true
to enable it. This can be for
example for the following reasons:
- In an browser environment this can be requests which fail because of CORS.
- In an mobile or desktop application this can be requests which failed because the connection was interrupted.
Additionally you can configure specific HTTP response codes to be considered as a failed request. This is off by default. Enable it by using it like shown in the following example: The status codes 400 to 404 and 500 are considered a failed request.
import 'package:sentry/sentry.dart';
var client = SentryHttpClient(
failedRequestStatusCodes: [
SentryStatusCode.range(400, 404),
SentryStatusCode(500),
],
);
It starts and finishes a Span if there's a transaction bound to the Scope
through the TracingClient
client, it's disabled by default.
Set networkTracing
to true
to enable it.
Remarks: If this client is used as a wrapper, a call to close also closes the given client.
The SentryHttpClient
can be used as a standalone client like this:
import 'package:sentry/sentry.dart';
var client = SentryHttpClient();
try {
var uriResponse = await client.post('https://example.com/whatsit/create',
body: {'name': 'doodle', 'color': 'blue'});
print(await client.get(uriResponse.bodyFields['uri']));
} finally {
client.close();
}
The SentryHttpClient
can also be used as a wrapper for your own HTTP
Client:
import 'package:sentry/sentry.dart';
import 'package:http/http.dart' as http;
final myClient = http.Client();
var client = SentryHttpClient(client: myClient);
try {
var uriResponse = await client.post('https://example.com/whatsit/create',
body: {'name': 'doodle', 'color': 'blue'});
print(await client.get(uriResponse.bodyFields['uri']));
} finally {
client.close();
}
Remarks:
HTTP traffic can contain PII (personal identifiable information).
Read more on data scrubbing [here](https://docs.sentry.io/product/data-management-settings/advanced-datascrubbing/).
Constructors
-
SentryHttpClient({Client? client, Hub? hub, bool recordBreadcrumbs = true, MaxRequestBodySize maxRequestBodySize = MaxRequestBodySize.never, List<
SentryStatusCode> failedRequestStatusCodes = const [], bool captureFailedRequests = false, bool sendDefaultPii = false, bool networkTracing = false})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- 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.
-
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