@@ -74,18 +74,18 @@ public AuditClient(
74
74
* @param authenticationDetailsProvider The authentication details provider, required.
75
75
* @param configuration The client configuration, optional.
76
76
* @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
77
- * @param requestSignerFactory The request signer factory used to create the request signer for this service.
77
+ * @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
78
78
*/
79
79
public AuditClient (
80
80
com .oracle .bmc .auth .AbstractAuthenticationDetailsProvider authenticationDetailsProvider ,
81
81
com .oracle .bmc .ClientConfiguration configuration ,
82
82
com .oracle .bmc .http .ClientConfigurator clientConfigurator ,
83
- com .oracle .bmc .http .signing .RequestSignerFactory requestSignerFactory ) {
83
+ com .oracle .bmc .http .signing .RequestSignerFactory defaultRequestSignerFactory ) {
84
84
this (
85
85
authenticationDetailsProvider ,
86
86
configuration ,
87
87
clientConfigurator ,
88
- requestSignerFactory ,
88
+ defaultRequestSignerFactory ,
89
89
new java .util .ArrayList <com .oracle .bmc .http .ClientConfigurator >());
90
90
}
91
91
@@ -97,20 +97,20 @@ public AuditClient(
97
97
* @param authenticationDetailsProvider The authentication details provider, required.
98
98
* @param configuration The client configuration, optional.
99
99
* @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
100
- * @param requestSignerFactory The request signer factory used to create the request signer for this service.
100
+ * @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
101
101
* @param additionalClientConfigurators Additional client configurators to be run after the primary configurator.
102
102
*/
103
103
public AuditClient (
104
104
com .oracle .bmc .auth .AbstractAuthenticationDetailsProvider authenticationDetailsProvider ,
105
105
com .oracle .bmc .ClientConfiguration configuration ,
106
106
com .oracle .bmc .http .ClientConfigurator clientConfigurator ,
107
- com .oracle .bmc .http .signing .RequestSignerFactory requestSignerFactory ,
107
+ com .oracle .bmc .http .signing .RequestSignerFactory defaultRequestSignerFactory ,
108
108
java .util .List <com .oracle .bmc .http .ClientConfigurator > additionalClientConfigurators ) {
109
109
this (
110
110
authenticationDetailsProvider ,
111
111
configuration ,
112
112
clientConfigurator ,
113
- requestSignerFactory ,
113
+ defaultRequestSignerFactory ,
114
114
additionalClientConfigurators ,
115
115
null );
116
116
}
@@ -123,15 +123,50 @@ public AuditClient(
123
123
* @param authenticationDetailsProvider The authentication details provider, required.
124
124
* @param configuration The client configuration, optional.
125
125
* @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
126
- * @param requestSignerFactory The request signer factory used to create the request signer for this service.
126
+ * @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
127
127
* @param additionalClientConfigurators Additional client configurators to be run after the primary configurator.
128
128
* @param endpoint Endpoint, or null to leave unset (note, may be overridden by {@code authenticationDetailsProvider})
129
129
*/
130
130
public AuditClient (
131
131
com .oracle .bmc .auth .AbstractAuthenticationDetailsProvider authenticationDetailsProvider ,
132
132
com .oracle .bmc .ClientConfiguration configuration ,
133
133
com .oracle .bmc .http .ClientConfigurator clientConfigurator ,
134
- com .oracle .bmc .http .signing .RequestSignerFactory requestSignerFactory ,
134
+ com .oracle .bmc .http .signing .RequestSignerFactory defaultRequestSignerFactory ,
135
+ java .util .List <com .oracle .bmc .http .ClientConfigurator > additionalClientConfigurators ,
136
+ String endpoint ) {
137
+ this (
138
+ authenticationDetailsProvider ,
139
+ configuration ,
140
+ clientConfigurator ,
141
+ defaultRequestSignerFactory ,
142
+ com .oracle .bmc .http .signing .internal .DefaultRequestSignerFactory
143
+ .createDefaultRequestSignerFactories (),
144
+ additionalClientConfigurators ,
145
+ endpoint );
146
+ }
147
+
148
+ /**
149
+ * Creates a new service instance using the given authentication provider and client configuration. Additionally,
150
+ * a Consumer can be provided that will be invoked whenever a REST Client is created to allow for additional configuration/customization.
151
+ * <p>
152
+ * This is an advanced constructor for clients that want to take control over how requests are signed.
153
+ * @param authenticationDetailsProvider The authentication details provider, required.
154
+ * @param configuration The client configuration, optional.
155
+ * @param clientConfigurator ClientConfigurator that will be invoked for additional configuration of a REST client, optional.
156
+ * @param defaultRequestSignerFactory The request signer factory used to create the request signer for this service.
157
+ * @param signingStrategyRequestSignerFactories The request signer factories for each signing strategy used to create the request signer
158
+ * @param additionalClientConfigurators Additional client configurators to be run after the primary configurator.
159
+ * @param endpoint Endpoint, or null to leave unset (note, may be overridden by {@code authenticationDetailsProvider})
160
+ */
161
+ public AuditClient (
162
+ com .oracle .bmc .auth .AbstractAuthenticationDetailsProvider authenticationDetailsProvider ,
163
+ com .oracle .bmc .ClientConfiguration configuration ,
164
+ com .oracle .bmc .http .ClientConfigurator clientConfigurator ,
165
+ com .oracle .bmc .http .signing .RequestSignerFactory defaultRequestSignerFactory ,
166
+ java .util .Map <
167
+ com .oracle .bmc .http .signing .SigningStrategy ,
168
+ com .oracle .bmc .http .signing .RequestSignerFactory >
169
+ signingStrategyRequestSignerFactories ,
135
170
java .util .List <com .oracle .bmc .http .ClientConfigurator > additionalClientConfigurators ,
136
171
String endpoint ) {
137
172
this .authenticationDetailsProvider = authenticationDetailsProvider ;
@@ -140,10 +175,22 @@ public AuditClient(
140
175
.clientConfigurator (clientConfigurator )
141
176
.additionalClientConfigurators (additionalClientConfigurators )
142
177
.build ();
143
- com .oracle .bmc .http .signing .RequestSigner requestSigner =
144
- requestSignerFactory .createRequestSigner (
178
+ com .oracle .bmc .http .signing .RequestSigner defaultRequestSigner =
179
+ defaultRequestSignerFactory .createRequestSigner (
145
180
SERVICE , this .authenticationDetailsProvider );
146
- this .client = restClientFactory .create (requestSigner , configuration );
181
+ java .util .Map <
182
+ com .oracle .bmc .http .signing .SigningStrategy ,
183
+ com .oracle .bmc .http .signing .RequestSigner >
184
+ requestSigners = new java .util .HashMap <>();
185
+ for (com .oracle .bmc .http .signing .SigningStrategy s :
186
+ com .oracle .bmc .http .signing .SigningStrategy .values ()) {
187
+ requestSigners .put (
188
+ s ,
189
+ signingStrategyRequestSignerFactories
190
+ .get (s )
191
+ .createRequestSigner (SERVICE , authenticationDetailsProvider ));
192
+ }
193
+ this .client = restClientFactory .create (defaultRequestSigner , requestSigners , configuration );
147
194
148
195
this .paginators = new AuditPaginators (this );
149
196
@@ -201,6 +248,7 @@ public AuditClient build(
201
248
configuration ,
202
249
clientConfigurator ,
203
250
requestSignerFactory ,
251
+ signingStrategyRequestSignerFactories ,
204
252
additionalClientConfigurators ,
205
253
endpoint );
206
254
}
0 commit comments