@@ -873,13 +873,15 @@ private void writeRequestQueryParam(
873873 Shape target = model .expectShape (binding .getMember ().getTarget ());
874874
875875 boolean isIdempotencyToken = binding .getMember ().hasTrait (IdempotencyTokenTrait .class );
876- if (isIdempotencyToken ) {
876+ boolean isRequired = binding .getMember ().isRequired ();
877+
878+ String idempotencyComponent = "" ;
879+ if (isIdempotencyToken && !isRequired ) {
877880 writer
878881 .addDependency (TypeScriptDependency .UUID_TYPES )
879882 .addImport ("v4" , "generateIdempotencyToken" , TypeScriptDependency .UUID );
883+ idempotencyComponent = " ?? generateIdempotencyToken()" ;
880884 }
881- boolean isRequired = binding .getMember ().isRequired ();
882- String idempotencyComponent = (isIdempotencyToken && !isRequired ) ? " ?? generateIdempotencyToken()" : "" ;
883885 String memberAssertionComponent = (idempotencyComponent .isEmpty () ? "!" : "" );
884886
885887 String queryValue = getInputValue (
@@ -1004,24 +1006,22 @@ private void writeNormalHeader(GenerationContext context, HttpBinding binding) {
10041006 binding .getMember (),
10051007 target
10061008 );
1007- boolean isIdempotencyToken = binding .getMember ().hasTrait (IdempotencyTokenTrait .class );
1008- if (isIdempotencyToken ) {
1009- context .getWriter ()
1010- .addDependency (TypeScriptDependency .UUID_TYPES )
1011- .addImport ("v4" , "generateIdempotencyToken" , TypeScriptDependency .UUID );
1012- }
10131009
10141010 boolean headerAssertion = headerValue .endsWith ("!" );
10151011 String headerBaseValue = (headerAssertion
10161012 ? headerValue .substring (0 , headerValue .length () - 1 )
10171013 : headerValue );
1014+ boolean isIdempotencyToken = binding .getMember ().hasTrait (IdempotencyTokenTrait .class );
10181015
10191016 if (!Objects .equals (memberLocation + "!" , headerValue )) {
10201017 String defaultValue = "" ;
10211018 if (headerBuffer .containsKey (headerKey )) {
10221019 String s = headerBuffer .get (headerKey );
10231020 defaultValue = " || " + s .substring (s .indexOf (": " ) + 2 , s .length () - 1 );
10241021 } else if (isIdempotencyToken ) {
1022+ context .getWriter ()
1023+ .addDependency (TypeScriptDependency .UUID_TYPES )
1024+ .addImport ("v4" , "generateIdempotencyToken" , TypeScriptDependency .UUID );
10251025 defaultValue = " ?? generateIdempotencyToken()" ;
10261026 }
10271027
@@ -1046,6 +1046,9 @@ private void writeNormalHeader(GenerationContext context, HttpBinding binding) {
10461046 String s = headerBuffer .get (headerKey );
10471047 constructedHeaderValue += " || " + s .substring (s .indexOf (": " ) + 2 , s .length () - 1 );
10481048 } else if (isIdempotencyToken ) {
1049+ context .getWriter ()
1050+ .addDependency (TypeScriptDependency .UUID_TYPES )
1051+ .addImport ("v4" , "generateIdempotencyToken" , TypeScriptDependency .UUID );
10491052 constructedHeaderValue += " ?? generateIdempotencyToken()" ;
10501053 } else {
10511054 constructedHeaderValue = headerValue ;
0 commit comments