2
2
3
3
import com .fasterxml .jackson .databind .JsonNode ;
4
4
import com .fasterxml .jackson .databind .ObjectMapper ;
5
- import edu .sjsu .moth .server .activityPub .ActivityPubUtil ;
5
+ import edu .sjsu .moth .server .activitypub .ActivityPubUtil ;
6
6
import edu .sjsu .moth .util .EmailCodeUtils ;
7
7
import edu .sjsu .moth .util .HttpSignature ;
8
8
import org .springframework .http .HttpHeaders ;
@@ -118,8 +118,8 @@ public static Mono<Void> signAndSend(JsonNode message, String actorUrl, String i
118
118
byte [] bodyBytes = new ObjectMapper ().writeValueAsBytes (message );
119
119
120
120
// Prepare date string in HTTP format
121
- DateTimeFormatter formatter = DateTimeFormatter . ofPattern ( "EEE, dd MMM yyyy HH:mm:ss 'GMT'" )
122
- .withLocale (Locale .US );
121
+ DateTimeFormatter formatter =
122
+ DateTimeFormatter . ofPattern ( "EEE, dd MMM yyyy HH:mm:ss 'GMT'" ) .withLocale (Locale .US );
123
123
String date = ZonedDateTime .now (ZoneOffset .UTC ).format (formatter );
124
124
// Set initial headers
125
125
HttpHeaders headers = new HttpHeaders ();
@@ -128,40 +128,28 @@ public static Mono<Void> signAndSend(JsonNode message, String actorUrl, String i
128
128
HttpSignature .addDigest (headers , bodyBytes ); // adds SHA-256 digest header
129
129
130
130
// Headers to be signed
131
- List <String > signedHeaders = List .of (
132
- HttpSignature .REQUEST_TARGET , "host" , "date" , "digest"
133
- );
131
+ List <String > signedHeaders = List .of (HttpSignature .REQUEST_TARGET , "host" , "date" , "digest" );
134
132
135
133
// Create WebClient builder
136
- WebClient .Builder builder = WebClient .builder ()
137
- .defaultHeader (HttpHeaders .ACCEPT , "application/activity+json" )
138
- .defaultHeader ("Host" , targetDomain )
139
- .defaultHeader ("Date" , date )
140
- .defaultHeader ("Digest" , headers .getFirst ("Digest" ));
134
+ WebClient .Builder builder =
135
+ WebClient .builder ().defaultHeader (HttpHeaders .ACCEPT , "application/activity+json" )
136
+ .defaultHeader ("Host" , targetDomain ).defaultHeader ("Date" , date )
137
+ .defaultHeader ("Digest" , headers .getFirst ("Digest" ));
141
138
142
139
// Attach HTTP Signature filter
143
140
HttpSignature .signHeaders (builder , signedHeaders , signingKey , actorUrl + "#main-key" );
144
141
145
142
WebClient client = builder .build ();
146
143
147
144
// Send the signed POST request
148
- return client .post ()
149
- .uri (inboxUri )
150
- .contentType (MediaType .APPLICATION_JSON )
151
- .bodyValue (message )
152
- .retrieve ()
153
- .onStatus (HttpStatusCode ::is4xxClientError , res ->
154
- res .bodyToMono (String .class ).flatMap (body -> {
155
- System .err .println ("4xx error body: " + body );
156
- return Mono .error (new RuntimeException ("Client error: " + body ));
157
- }))
158
- .onStatus (HttpStatusCode ::is5xxServerError , res ->
159
- res .bodyToMono (String .class ).flatMap (body -> {
160
- System .err .println ("5xx error body: " + body );
161
- return Mono .error (new RuntimeException ("Server error: " + body ));
162
- }))
163
- .bodyToMono (String .class )
164
- .doOnNext (response -> System .out .println ("Response: " + response ))
145
+ return client .post ().uri (inboxUri ).contentType (MediaType .APPLICATION_JSON ).bodyValue (message ).retrieve ()
146
+ .onStatus (HttpStatusCode ::is4xxClientError , res -> res .bodyToMono (String .class ).flatMap (body -> {
147
+ System .err .println ("4xx error body: " + body );
148
+ return Mono .error (new RuntimeException ("Client error: " + body ));
149
+ })).onStatus (HttpStatusCode ::is5xxServerError , res -> res .bodyToMono (String .class ).flatMap (body -> {
150
+ System .err .println ("5xx error body: " + body );
151
+ return Mono .error (new RuntimeException ("Server error: " + body ));
152
+ })).bodyToMono (String .class ).doOnNext (response -> System .out .println ("Response: " + response ))
165
153
.then ();
166
154
167
155
} catch (Exception e ) {
0 commit comments