1package dev.rafex.ether.webhook.client;
29import java.io.IOException;
32import dev.rafex.ether.http.client.EtherHttpClient;
33import dev.rafex.ether.http.client.model.HttpMethod;
34import dev.rafex.ether.http.client.model.HttpRequestSpec;
35import dev.rafex.ether.http.client.model.HttpResponseSpec;
36import dev.rafex.ether.webhook.api.WebhookSigner;
37import dev.rafex.ether.webhook.headers.WebhookHeaders;
38import dev.rafex.ether.webhook.model.WebhookPayload;
46 this.httpClient = httpClient;
50 public HttpRequestSpec
buildRequest(
final URI endpoint,
final WebhookPayload payload) {
51 final var signature = signer.sign(payload);
52 final var builder = HttpRequestSpec.builder(
HttpMethod.
POST, endpoint).body(payload.body())
58 for (
final var entry : payload.headers().entrySet()) {
59 for (
final var value : entry.getValue()) {
60 builder.header(entry.getKey(), value);
63 return builder.build();
66 public HttpResponseSpec
send(
final URI endpoint,
final WebhookPayload payload)
67 throws IOException, InterruptedException {
HttpResponseSpec send(final URI endpoint, final WebhookPayload payload)
HttpRequestSpec buildRequest(final URI endpoint, final WebhookPayload payload)
WebhookDeliveryClient(final EtherHttpClient httpClient, final WebhookSigner signer)
Interfaz para firmar payloads de webhook.