3
3
import com .stripe .Stripe ;
4
4
import com .stripe .exception .ApiConnectionException ;
5
5
import com .stripe .exception .StripeException ;
6
- import com .stripe .util .Stopwatch ;
7
6
import java .net .ConnectException ;
8
7
import java .net .SocketTimeoutException ;
9
8
import java .time .Duration ;
10
9
import java .util .HashMap ;
11
10
import java .util .Map ;
12
- import java .util .Optional ;
13
11
import java .util .concurrent .ThreadLocalRandom ;
14
12
15
13
/** Base abstract class for HTTP clients used to send requests to Stripe's API. */
@@ -20,8 +18,6 @@ public abstract class HttpClient {
20
18
/** Minimum sleep time between tries to send HTTP requests after network failure. */
21
19
public static final Duration minNetworkRetriesDelay = Duration .ofMillis (500 );
22
20
23
- private final RequestTelemetry requestTelemetry = new RequestTelemetry ();
24
-
25
21
/** A value indicating whether the client should sleep between automatic request retries. */
26
22
boolean networkRetriesSleep = true ;
27
23
@@ -53,47 +49,27 @@ private interface RequestSendFunction<R> {
53
49
R apply (StripeRequest request ) throws StripeException ;
54
50
}
55
51
56
- private <T extends AbstractStripeResponse <?>> T sendWithTelemetry (
57
- StripeRequest request , RequestSendFunction <T > send ) throws StripeException {
58
- Optional <String > telemetryHeaderValue = requestTelemetry .getHeaderValue (request .headers ());
59
- if (telemetryHeaderValue .isPresent ()) {
60
- request =
61
- request .withAdditionalHeader (RequestTelemetry .HEADER_NAME , telemetryHeaderValue .get ());
62
- }
63
-
64
- Stopwatch stopwatch = Stopwatch .startNew ();
65
-
66
- T response = send .apply (request );
67
-
68
- stopwatch .stop ();
69
-
70
- requestTelemetry .maybeEnqueueMetrics (response , stopwatch .getElapsed ());
71
-
72
- return response ;
73
- }
74
-
75
52
/**
76
- * Sends the given request to Stripe's API, handling telemetry if not disabled.
77
- *
78
53
* @param request the request
79
54
* @return the response
80
55
* @throws StripeException If the request fails for any reason
56
+ * @deprecated Use {@link #request(StripeRequest)} instead.
81
57
*/
58
+ @ Deprecated
82
59
public StripeResponse requestWithTelemetry (StripeRequest request ) throws StripeException {
83
- return sendWithTelemetry ( request , this :: request );
60
+ return this . request ( request );
84
61
}
85
62
86
63
/**
87
- * Sends the given request to Stripe's API, streaming the response, and handling telemetry if not
88
- * disabled.
89
- *
90
64
* @param request the request
91
65
* @return the response
92
66
* @throws StripeException If the request fails for any reason
67
+ * @deprecated Use {@link #requestStream(StripeRequest)} instead.
93
68
*/
69
+ @ Deprecated
94
70
public StripeResponseStream requestStreamWithTelemetry (StripeRequest request )
95
71
throws StripeException {
96
- return sendWithTelemetry ( request , this :: requestStream );
72
+ return this . requestStream ( request );
97
73
}
98
74
99
75
public <T extends AbstractStripeResponse <?>> T sendWithRetries (
@@ -142,7 +118,7 @@ public <T extends AbstractStripeResponse<?>> T sendWithRetries(
142
118
* @throws StripeException If the request fails for any reason
143
119
*/
144
120
public StripeResponse requestWithRetries (StripeRequest request ) throws StripeException {
145
- return sendWithRetries (request , (r ) -> this .requestWithTelemetry (r ));
121
+ return sendWithRetries (request , (r ) -> this .request (r ));
146
122
}
147
123
148
124
/**
@@ -155,7 +131,7 @@ public StripeResponse requestWithRetries(StripeRequest request) throws StripeExc
155
131
*/
156
132
public StripeResponseStream requestStreamWithRetries (StripeRequest request )
157
133
throws StripeException {
158
- return sendWithRetries (request , (r ) -> this .requestStreamWithTelemetry (r ));
134
+ return sendWithRetries (request , (r ) -> this .requestStream (r ));
159
135
}
160
136
161
137
/**
0 commit comments