submit method
- FeedbackEntry entry
override
Sends entry to the backend.
Throw any Exception on failure. QueuedBackend intercepts backend exceptions and enqueues the entry for retry.
Implementation
@override
Future<void> submit(FeedbackEntry entry) async {
final payload = payloadBuilder?.call(entry) ?? _defaultPayload(entry);
final response = await _client
.post(
Uri.parse(url),
headers: {'Content-Type': 'application/json', ...headers},
body: jsonEncode(payload),
)
.timeout(timeout);
if (response.statusCode < 200 || response.statusCode >= 300) {
throw WebhookException(
'Webhook failed with status ${response.statusCode}',
);
}
}