SentryHttpClient class
A http-package compatible HTTP client.
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),
],
);
If empty request status codes are provided, all failure requests will be captured. Per default, codes in the range 500-599 are recorded.
If you provide failed request targets, the SDK will only capture HTTP Client errors if the HTTP Request URL is a match for any of the provided targets.
var client = SentryHttpClient(
failedRequestTargets: ['my-api.com'],
);
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/).
The constructor parameter `captureFailedRequests` will override what you
have configured in options.
Constructors
-
SentryHttpClient({Client? client, Hub? hub, List<
SentryStatusCode> failedRequestStatusCodes = defaultFailedRequestStatusCodes, List<String> failedRequestTargets = defaultFailedRequestTargets, bool? captureFailedRequests})
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
Constants
-
defaultFailedRequestStatusCodes
→ const List<
SentryStatusCode> -
defaultFailedRequestTargets
→ const List<
String>