@@ -263,9 +263,11 @@ private void writeResolvedPath(
263
263
binding .getMember (), target );
264
264
// Get the correct label to use.
265
265
Segment uriLabel = uriLabels .stream ().filter (s -> s .getContent ().equals (memberName )).findFirst ().get ();
266
+ writer .addImport ("extendedEncodeURIComponent" , "__extendedEncodeURIComponent" ,
267
+ "@aws-sdk/smithy-client" );
266
268
String encodedSegment = uriLabel .isGreedyLabel ()
267
- ? "labelValue.split(\" /\" ).map(segment => encodeURIComponent (segment)).join(\" /\" )"
268
- : "encodeURIComponent (labelValue)" ;
269
+ ? "labelValue.split(\" /\" ).map(segment => __extendedEncodeURIComponent (segment)).join(\" /\" )"
270
+ : "__extendedEncodeURIComponent (labelValue)" ;
269
271
270
272
// Set the label's value and throw a clear error if empty or undefined.
271
273
writer .write ("if (input.$L !== undefined) {" , memberName ).indent ()
@@ -306,11 +308,14 @@ private boolean writeRequestQueryString(
306
308
Model model = context .getModel ();
307
309
for (HttpBinding binding : queryBindings ) {
308
310
String memberName = symbolProvider .toMemberName (binding .getMember ());
311
+ writer .addImport ("extendedEncodeURIComponent" , "__extendedEncodeURIComponent" ,
312
+ "@aws-sdk/smithy-client" );
309
313
writer .openBlock ("if (input.$L !== undefined) {" , "}" , memberName , () -> {
310
314
Shape target = model .expectShape (binding .getMember ().getTarget ());
311
315
String queryValue = getInputValue (context , binding .getLocation (), "input." + memberName ,
312
316
binding .getMember (), target );
313
- writer .write ("query['$L'] = $L;" , binding .getLocationName (), queryValue );
317
+ writer .write ("query[__extendedEncodeURIComponent($S)] = __extendedEncodeURIComponent($L);" ,
318
+ binding .getLocationName (), queryValue );
314
319
});
315
320
}
316
321
}
0 commit comments