@azure-tools/typespec-go 0.16.0-dev.19 → 0.16.0-dev.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../../../src/codegen/core/request-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAG/C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,EACzC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,OAAO,CAAC,WAAW,GAC1B,MAAM,
|
|
1
|
+
{"version":3,"file":"request-handler.d.ts","sourceRoot":"","sources":["../../../../src/codegen/core/request-handler.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,0BAA0B,CAAC;AAG/C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,EAAE,CAAC,UAAU,GAAG,EAAE,CAAC,cAAc,EACzC,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,OAAO,CAAC,WAAW,GAC1B,MAAM,CAyjBR"}
|
|
@@ -30,6 +30,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
30
30
|
const returns = ["*policy.Request", "error"];
|
|
31
31
|
let text = `${helpers.comment(name, "// ")} creates the ${method.name} request.\n`;
|
|
32
32
|
text += `func ${helpers.getClientReceiverDefinition(method.receiver)} ${name}(${helpers.getCreateRequestParametersSig(method)}) (${returns.join(", ")}) {\n`;
|
|
33
|
+
// BEGIN create request
|
|
33
34
|
const hostParams = new Array();
|
|
34
35
|
for (const parameter of method.receiver.type.parameters) {
|
|
35
36
|
if (parameter.kind === "uriParam") {
|
|
@@ -77,22 +78,6 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
77
78
|
text += `${indent.get()}urlPath := "${method.httpPath}"\n`;
|
|
78
79
|
hostParam = `runtime.JoinPaths(${hostParam}, urlPath)`;
|
|
79
80
|
}
|
|
80
|
-
// helper to build nil checks for param groups
|
|
81
|
-
const emitParamGroupCheck = function (param) {
|
|
82
|
-
if (!param.group) {
|
|
83
|
-
throw new CodegenError("InternalError", `emitParamGroupCheck called for ungrouped parameter ${param.name}`);
|
|
84
|
-
}
|
|
85
|
-
let client = "";
|
|
86
|
-
if (param.location === "client") {
|
|
87
|
-
client = "client.";
|
|
88
|
-
}
|
|
89
|
-
const paramGroupName = naming.uncapitalize(param.group.name);
|
|
90
|
-
let optionalParamGroupCheck = `${client}${paramGroupName} != nil && `;
|
|
91
|
-
if (param.group.required) {
|
|
92
|
-
optionalParamGroupCheck = "";
|
|
93
|
-
}
|
|
94
|
-
return `${indent.get()}if ${optionalParamGroupCheck}${client}${paramGroupName}.${naming.capitalize(param.name)} != nil {\n`;
|
|
95
|
-
};
|
|
96
81
|
if (hasPathParams) {
|
|
97
82
|
// swagger defines path params, emit path and replace tokens
|
|
98
83
|
imports.add("strings");
|
|
@@ -109,11 +94,10 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
109
94
|
// like required params (i.e. not grouped).
|
|
110
95
|
// emit check to ensure path param isn't an empty string
|
|
111
96
|
if (pp.kind === "pathScalarParam") {
|
|
112
|
-
const choiceIsString = function (type) {
|
|
113
|
-
return type.kind === "constant" && type.type === "string";
|
|
114
|
-
};
|
|
115
97
|
// we only need to do this for params that have an underlying type of string
|
|
116
|
-
if ((pp.type.kind === "string" ||
|
|
98
|
+
if ((pp.type.kind === "string" ||
|
|
99
|
+
(pp.type.kind === "constant" && pp.type.type === "string")) &&
|
|
100
|
+
!pp.omitEmptyStringCheck) {
|
|
117
101
|
const paramName = helpers.getParamName(pp);
|
|
118
102
|
imports.add("errors");
|
|
119
103
|
text += `${indent.get()}if ${paramName} == "" {\n`;
|
|
@@ -139,7 +123,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
139
123
|
else if (go.isClientSideDefault(pp.style)) {
|
|
140
124
|
const defaultValue = naming.uncapitalize(pp.name) + "Default";
|
|
141
125
|
text += `${indent.get()}${defaultValue} := ${helpers.formatLiteralValue(pp.style.defaultValue, true)}\n`;
|
|
142
|
-
text += emitParamGroupCheck(pp);
|
|
126
|
+
text += emitParamGroupCheck(pp, indent);
|
|
143
127
|
text += `${indent.push().get()}${defaultValue} = ${helpers.getParamName(pp)}\n`;
|
|
144
128
|
text += `${indent.pop().get()}}\n`;
|
|
145
129
|
paramValue = helpers.formatValue(defaultValue, pp.type, imports);
|
|
@@ -150,7 +134,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
150
134
|
// the optional value when set.
|
|
151
135
|
paramValue = `optional${naming.capitalize(pp.name)}`;
|
|
152
136
|
text += `${indent.get()}${paramValue} := ""\n`;
|
|
153
|
-
text += emitParamGroupCheck(pp);
|
|
137
|
+
text += emitParamGroupCheck(pp, indent);
|
|
154
138
|
text += `${indent.push().get()}${paramValue} = ${helpers.formatParamValue(pp, imports, indent)}\n`;
|
|
155
139
|
text += `${indent.pop().get()}}\n`;
|
|
156
140
|
// there are two cases for optional path params.
|
|
@@ -161,20 +145,13 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
161
145
|
optionalPathSep = true;
|
|
162
146
|
}
|
|
163
147
|
}
|
|
164
|
-
const emitPathEscape = function () {
|
|
165
|
-
if (pp.isEncoded) {
|
|
166
|
-
imports.add("net/url");
|
|
167
|
-
return `url.PathEscape(${paramValue})`;
|
|
168
|
-
}
|
|
169
|
-
return paramValue;
|
|
170
|
-
};
|
|
171
148
|
if (optionalPathSep) {
|
|
172
149
|
text += `${indent.get()}if len(${paramValue}) > 0 {\n`;
|
|
173
|
-
text += `${indent.push().get()}${paramValue} = "/"+${emitPathEscape()}\n`;
|
|
150
|
+
text += `${indent.push().get()}${paramValue} = "/"+${emitPathEscape(pp, paramValue, imports)}\n`;
|
|
174
151
|
text += `${indent.pop().get()}}\n`;
|
|
175
152
|
}
|
|
176
153
|
else {
|
|
177
|
-
paramValue = emitPathEscape();
|
|
154
|
+
paramValue = emitPathEscape(pp, paramValue, imports);
|
|
178
155
|
}
|
|
179
156
|
text += `${indent.get()}urlPath = strings.ReplaceAll(urlPath, "{${pp.pathSegment}}", ${paramValue})\n`;
|
|
180
157
|
}
|
|
@@ -183,34 +160,10 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
183
160
|
text += `${indent.get()}if err != nil {\n`;
|
|
184
161
|
text += `${indent.push().get()}return nil, err\n`;
|
|
185
162
|
text += `${indent.pop().get()}}\n`;
|
|
186
|
-
//
|
|
163
|
+
// END create request
|
|
164
|
+
// BEGIN add query parameters
|
|
187
165
|
const encodedParams = methodParamGroups.encodedQueryParams;
|
|
188
166
|
const unencodedParams = methodParamGroups.unencodedQueryParams;
|
|
189
|
-
const emitQueryParam = function (qp, setter) {
|
|
190
|
-
let qpText;
|
|
191
|
-
if (qp.location === "method" && go.isClientSideDefault(qp.style)) {
|
|
192
|
-
qpText = emitClientSideDefault(qp, qp.style, (name, val) => {
|
|
193
|
-
return `${indent.get()}reqQP.Set(${name}, ${val})`;
|
|
194
|
-
}, imports, indent);
|
|
195
|
-
}
|
|
196
|
-
else if (go.isRequiredParameter(qp.style) ||
|
|
197
|
-
go.isLiteralParameter(qp.style) ||
|
|
198
|
-
(qp.location === "client" && go.isClientSideDefault(qp.style))) {
|
|
199
|
-
qpText = `${indent.get()}${setter}\n`;
|
|
200
|
-
}
|
|
201
|
-
else if (qp.location === "client" && !qp.group) {
|
|
202
|
-
// global optional param
|
|
203
|
-
qpText = `${indent.get()}if client.${qp.name} != nil {\n`;
|
|
204
|
-
qpText += `${indent.push().get()}${setter}\n`;
|
|
205
|
-
qpText += `${indent.pop().get()}}\n`;
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
qpText = emitParamGroupCheck(qp);
|
|
209
|
-
qpText += `${indent.push().get()}${setter}\n`;
|
|
210
|
-
qpText += `${indent.pop().get()}}\n`;
|
|
211
|
-
}
|
|
212
|
-
return qpText;
|
|
213
|
-
};
|
|
214
167
|
// emit encoded params first
|
|
215
168
|
if (encodedParams.length > 0) {
|
|
216
169
|
text += `${indent.get()}reqQP := req.Raw().URL.Query()\n`;
|
|
@@ -248,7 +201,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
248
201
|
// cannot initialize setter to this value as helpers.formatParamValue() can change imports
|
|
249
202
|
setter = `reqQP.Set("${qp.queryParameter}", ${helpers.formatParamValue(qp, imports, indent)})`;
|
|
250
203
|
}
|
|
251
|
-
text += emitQueryParam(qp, setter);
|
|
204
|
+
text += emitQueryParam(qp, imports, indent, setter);
|
|
252
205
|
}
|
|
253
206
|
// reqQP.Encode() encodes space chars as '+' which is application/x-www-form-urlencoded
|
|
254
207
|
// thus not applicable for URIs. the correct URI encoding for SP is %20. note that literal '+'
|
|
@@ -277,34 +230,17 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
277
230
|
else {
|
|
278
231
|
setter = `unencodedParams = append(unencodedParams, "${qp.queryParameter}="+${helpers.formatParamValue(qp, imports, indent)})`;
|
|
279
232
|
}
|
|
280
|
-
text += emitQueryParam(qp, setter);
|
|
233
|
+
text += emitQueryParam(qp, imports, indent, setter);
|
|
281
234
|
}
|
|
282
235
|
imports.add("strings");
|
|
283
236
|
text += `${indent.get()}req.Raw().URL.RawQuery = strings.Join(unencodedParams, "&")\n`;
|
|
284
237
|
}
|
|
238
|
+
// END add query parameters
|
|
285
239
|
if (method.kind !== "nextPageMethod" && method.returns.result?.kind === "binaryResult") {
|
|
286
240
|
// skip auto-body downloading for binary stream responses
|
|
287
241
|
text += `${indent.get()}runtime.SkipBodyDownload(req)\n`;
|
|
288
242
|
}
|
|
289
|
-
//
|
|
290
|
-
const emitHeaderSet = function (headerParam) {
|
|
291
|
-
if (headerParam.kind === "headerMapParam") {
|
|
292
|
-
let headerText = `${indent.get()}for k, v := range ${helpers.getParamName(headerParam)} {\n`;
|
|
293
|
-
headerText += `${indent.push().get()}if v != nil {\n`;
|
|
294
|
-
headerText += `${indent.push().get()}req.Raw().Header["${headerParam.headerName}"+k] = []string{*v}\n`;
|
|
295
|
-
headerText += `${indent.pop().get()}}\n`;
|
|
296
|
-
headerText += `${indent.pop().get()}}\n`;
|
|
297
|
-
return headerText;
|
|
298
|
-
}
|
|
299
|
-
else if (headerParam.location === "method" && go.isClientSideDefault(headerParam.style)) {
|
|
300
|
-
return emitClientSideDefault(headerParam, headerParam.style, (name, val) => {
|
|
301
|
-
return `${indent.get()}req.Raw().Header[${name}] = []string{${val}}`;
|
|
302
|
-
}, imports, indent);
|
|
303
|
-
}
|
|
304
|
-
else {
|
|
305
|
-
return `${indent.get()}req.Raw().Header["${headerParam.headerName}"] = []string{${helpers.formatParamValue(headerParam, imports, indent)}}\n`;
|
|
306
|
-
}
|
|
307
|
-
};
|
|
243
|
+
// BEGIN specific request headers
|
|
308
244
|
let contentType;
|
|
309
245
|
for (const param of methodParamGroups.headerParams.sort((a, b) => {
|
|
310
246
|
return helpers.sortAscending(a.headerName, b.headerName);
|
|
@@ -320,7 +256,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
320
256
|
// explicitly to runtime.SetBody() so don't emit code to set it inline.
|
|
321
257
|
// NOTE: only binary/text payloads call runtime.SetBody().
|
|
322
258
|
if (go.isClientSideDefault(param.style)) {
|
|
323
|
-
text += emitClientSideDefault(param, param.style, () => ""
|
|
259
|
+
text += emitClientSideDefault(param, param.style, imports, indent, () => "");
|
|
324
260
|
continue;
|
|
325
261
|
}
|
|
326
262
|
else if (param.style === "required") {
|
|
@@ -338,63 +274,32 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
338
274
|
else if (go.isRequiredParameter(param.style) ||
|
|
339
275
|
go.isLiteralParameter(param.style) ||
|
|
340
276
|
go.isClientSideDefault(param.style)) {
|
|
341
|
-
text += emitHeaderSet(param);
|
|
277
|
+
text += emitHeaderSet(param, imports, indent);
|
|
342
278
|
}
|
|
343
279
|
else if (param.location === "client" && !param.group) {
|
|
344
280
|
// global optional param
|
|
345
281
|
text += `${indent.get()}if client.${param.name} != nil {\n`;
|
|
346
282
|
indent.push();
|
|
347
|
-
text += emitHeaderSet(param);
|
|
283
|
+
text += emitHeaderSet(param, imports, indent);
|
|
348
284
|
indent.pop();
|
|
349
285
|
text += `${indent.get()}}\n`;
|
|
350
286
|
}
|
|
351
287
|
else {
|
|
352
|
-
text += emitParamGroupCheck(param);
|
|
288
|
+
text += emitParamGroupCheck(param, indent);
|
|
353
289
|
indent.push();
|
|
354
|
-
text += emitHeaderSet(param);
|
|
290
|
+
text += emitHeaderSet(param, imports, indent);
|
|
355
291
|
indent.pop();
|
|
356
292
|
text += `${indent.get()}}\n`;
|
|
357
293
|
}
|
|
358
294
|
}
|
|
295
|
+
// END specific request headers
|
|
296
|
+
// BEGIN set body
|
|
359
297
|
// note that these are mutually exclusive
|
|
360
298
|
const bodyParam = methodParamGroups.bodyParam;
|
|
361
299
|
const formBodyParams = methodParamGroups.formBodyParams;
|
|
362
300
|
const multipartBodyParams = methodParamGroups.multipartBodyParams;
|
|
363
301
|
const partialBodyParams = methodParamGroups.partialBodyParams;
|
|
364
|
-
const emitSetBodyWithErrCheck = function (setBodyParam, contentType) {
|
|
365
|
-
let content = "";
|
|
366
|
-
if (contentType) {
|
|
367
|
-
content += `${indent.get()}req.Raw().Header["Content-Type"] = []string{${contentType}}\n`;
|
|
368
|
-
}
|
|
369
|
-
content += `${indent.get()}if err := ${setBodyParam}; err != nil {\n`;
|
|
370
|
-
content += `${indent.push().get()}return nil, err\n`;
|
|
371
|
-
content += `${indent.pop().get()}}\n`;
|
|
372
|
-
return content;
|
|
373
|
-
};
|
|
374
302
|
if (bodyParam) {
|
|
375
|
-
/** returns the source value for the content type */
|
|
376
|
-
const getContentTypeValue = function (src) {
|
|
377
|
-
switch (src.kind) {
|
|
378
|
-
case "literal":
|
|
379
|
-
return helpers.formatLiteralValue(src, false);
|
|
380
|
-
case "parameterRef": {
|
|
381
|
-
// find the param
|
|
382
|
-
for (const param of method.parameters) {
|
|
383
|
-
if (param.kind === "headerScalarParam" && param.name === src.name) {
|
|
384
|
-
if (go.isClientSideDefault(param.style)) {
|
|
385
|
-
return getClientSideDefaultVarName(param);
|
|
386
|
-
}
|
|
387
|
-
let paramName = helpers.getParamName(param);
|
|
388
|
-
if (param.type.kind === "constant") {
|
|
389
|
-
paramName = `string(${paramName})`;
|
|
390
|
-
}
|
|
391
|
-
return paramName;
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
throw new CodegenError("InternalError", `didn't find parameter reference ${src.name}`);
|
|
395
|
-
}
|
|
396
|
-
}
|
|
397
|
-
};
|
|
398
303
|
if (bodyParam.bodyFormat === "JSON" || bodyParam.bodyFormat === "XML") {
|
|
399
304
|
// default to the body param name
|
|
400
305
|
let body = helpers.getParamName(bodyParam);
|
|
@@ -493,13 +398,13 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
493
398
|
setBody = `req.SetBody(streaming.NopCloser(bytes.NewReader(${body})), "application/${bodyParam.bodyFormat.toLowerCase()}")`;
|
|
494
399
|
}
|
|
495
400
|
if (go.isRequiredParameter(bodyParam.style) || go.isLiteralParameter(bodyParam.style)) {
|
|
496
|
-
text += emitSetBodyWithErrCheck(setBody, contentType);
|
|
401
|
+
text += emitSetBodyWithErrCheck(setBody, indent, contentType);
|
|
497
402
|
text += `${indent.get()}return req, nil\n`;
|
|
498
403
|
}
|
|
499
404
|
else {
|
|
500
|
-
text += emitParamGroupCheck(bodyParam);
|
|
405
|
+
text += emitParamGroupCheck(bodyParam, indent);
|
|
501
406
|
indent.push();
|
|
502
|
-
text += emitSetBodyWithErrCheck(setBody, contentType);
|
|
407
|
+
text += emitSetBodyWithErrCheck(setBody, indent, contentType);
|
|
503
408
|
text += `${indent.get()}return req, nil\n`;
|
|
504
409
|
indent.pop();
|
|
505
410
|
text += `${indent.get()}}\n`;
|
|
@@ -508,13 +413,13 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
508
413
|
}
|
|
509
414
|
else if (bodyParam.bodyFormat === "binary") {
|
|
510
415
|
if (go.isRequiredParameter(bodyParam.style)) {
|
|
511
|
-
text += emitSetBodyWithErrCheck(`req.SetBody(${bodyParam.name}, ${getContentTypeValue(bodyParam.contentType)})`, contentType);
|
|
416
|
+
text += emitSetBodyWithErrCheck(`req.SetBody(${bodyParam.name}, ${getContentTypeValue(method, bodyParam.contentType)})`, indent, contentType);
|
|
512
417
|
text += `${indent.get()}return req, nil\n`;
|
|
513
418
|
}
|
|
514
419
|
else {
|
|
515
|
-
text += emitParamGroupCheck(bodyParam);
|
|
420
|
+
text += emitParamGroupCheck(bodyParam, indent);
|
|
516
421
|
indent.push();
|
|
517
|
-
text += emitSetBodyWithErrCheck(`req.SetBody(${helpers.getParamName(bodyParam)}, ${getContentTypeValue(bodyParam.contentType)})`, contentType);
|
|
422
|
+
text += emitSetBodyWithErrCheck(`req.SetBody(${helpers.getParamName(bodyParam)}, ${getContentTypeValue(method, bodyParam.contentType)})`, indent, contentType);
|
|
518
423
|
text += `${indent.get()}return req, nil\n`;
|
|
519
424
|
indent.pop();
|
|
520
425
|
text += `${indent.get()}}\n`;
|
|
@@ -526,14 +431,14 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
526
431
|
imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming");
|
|
527
432
|
if (go.isRequiredParameter(bodyParam.style)) {
|
|
528
433
|
text += `${indent.get()}body := streaming.NopCloser(strings.NewReader(${bodyParam.name}))\n`;
|
|
529
|
-
text += emitSetBodyWithErrCheck(`req.SetBody(body, ${getContentTypeValue(bodyParam.contentType)})`, contentType);
|
|
434
|
+
text += emitSetBodyWithErrCheck(`req.SetBody(body, ${getContentTypeValue(method, bodyParam.contentType)})`, indent, contentType);
|
|
530
435
|
text += `${indent.get()}return req, nil\n`;
|
|
531
436
|
}
|
|
532
437
|
else {
|
|
533
|
-
text += emitParamGroupCheck(bodyParam);
|
|
438
|
+
text += emitParamGroupCheck(bodyParam, indent);
|
|
534
439
|
indent.push();
|
|
535
440
|
text += `${indent.get()}body := streaming.NopCloser(strings.NewReader(${helpers.getParamName(bodyParam)}))\n`;
|
|
536
|
-
text += emitSetBodyWithErrCheck(`req.SetBody(body, ${getContentTypeValue(bodyParam.contentType)})`, contentType);
|
|
441
|
+
text += emitSetBodyWithErrCheck(`req.SetBody(body, ${getContentTypeValue(method, bodyParam.contentType)})`, indent, contentType);
|
|
537
442
|
text += `${indent.get()}return req, nil\n`;
|
|
538
443
|
indent.pop();
|
|
539
444
|
text += `${indent.get()}}\n`;
|
|
@@ -563,7 +468,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
563
468
|
// now populate any optional params from the options type
|
|
564
469
|
for (const partialBodyParam of partialBodyParams) {
|
|
565
470
|
if (!go.isRequiredParameter(partialBodyParam.style)) {
|
|
566
|
-
text += emitParamGroupCheck(partialBodyParam);
|
|
471
|
+
text += emitParamGroupCheck(partialBodyParam, indent);
|
|
567
472
|
text += `${indent.push().get()}body.${naming.capitalize(partialBodyParam.serializedName)} = options.${naming.capitalize(partialBodyParam.name)}\n`;
|
|
568
473
|
text += `${indent.pop().get()}}\n`;
|
|
569
474
|
}
|
|
@@ -604,7 +509,7 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
604
509
|
text += `${indent.get()}${setter}\n`;
|
|
605
510
|
}
|
|
606
511
|
else {
|
|
607
|
-
text += emitParamGroupCheck(param);
|
|
512
|
+
text += emitParamGroupCheck(param, indent);
|
|
608
513
|
text += `${indent.push().get()}${setter}\n`;
|
|
609
514
|
text += `${indent.pop().get()}}\n`;
|
|
610
515
|
}
|
|
@@ -616,18 +521,6 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
616
521
|
text += `${indent.get()}return req, nil\n`;
|
|
617
522
|
}
|
|
618
523
|
else if (formBodyParams.length > 0) {
|
|
619
|
-
const emitFormData = function (param, setter) {
|
|
620
|
-
let formDataText;
|
|
621
|
-
if (go.isRequiredParameter(param.style)) {
|
|
622
|
-
formDataText = `${indent.get()}${setter}\n`;
|
|
623
|
-
}
|
|
624
|
-
else {
|
|
625
|
-
formDataText = emitParamGroupCheck(param);
|
|
626
|
-
formDataText += `${indent.push().get()}${setter}\n`;
|
|
627
|
-
formDataText += `${indent.pop().get()}}\n`;
|
|
628
|
-
}
|
|
629
|
-
return formDataText;
|
|
630
|
-
};
|
|
631
524
|
imports.add("net/url");
|
|
632
525
|
imports.add("strings");
|
|
633
526
|
imports.add("github.com/Azure/azure-sdk-for-go/sdk/azcore/streaming");
|
|
@@ -635,19 +528,38 @@ export function createRequestHandler(azureARM, method, imports, indent) {
|
|
|
635
528
|
// find all the form body params
|
|
636
529
|
for (const param of formBodyParams) {
|
|
637
530
|
const setter = `formData.Set("${param.formDataName}", ${helpers.formatParamValue(param, imports, indent)})`;
|
|
638
|
-
|
|
531
|
+
if (go.isRequiredParameter(param.style)) {
|
|
532
|
+
text += `${indent.get()}${setter}\n`;
|
|
533
|
+
}
|
|
534
|
+
else {
|
|
535
|
+
text += emitParamGroupCheck(param, indent);
|
|
536
|
+
text += `${indent.push().get()}${setter}\n`;
|
|
537
|
+
text += `${indent.pop().get()}}\n`;
|
|
538
|
+
}
|
|
639
539
|
}
|
|
640
540
|
text += `${indent.get()}body := streaming.NopCloser(strings.NewReader(formData.Encode()))\n`;
|
|
641
|
-
text += emitSetBodyWithErrCheck('req.SetBody(body, "application/x-www-form-urlencoded")');
|
|
541
|
+
text += emitSetBodyWithErrCheck('req.SetBody(body, "application/x-www-form-urlencoded")', indent);
|
|
642
542
|
text += `${indent.get()}return req, nil\n`;
|
|
643
543
|
}
|
|
644
544
|
else {
|
|
545
|
+
// no body
|
|
645
546
|
text += `${indent.get()}return req, nil\n`;
|
|
646
547
|
}
|
|
548
|
+
// END set body
|
|
647
549
|
text += "}\n\n";
|
|
648
550
|
return text;
|
|
649
551
|
}
|
|
650
|
-
|
|
552
|
+
/**
|
|
553
|
+
* emits code for handling parameters with a client-side default
|
|
554
|
+
*
|
|
555
|
+
* @param param the param with a client-side default
|
|
556
|
+
* @param csd the client-side default value
|
|
557
|
+
* @param imports the import manager currently in scope
|
|
558
|
+
* @param indent the indentation helper currently in scope
|
|
559
|
+
* @param setterFormat any custom formatting for the value
|
|
560
|
+
* @returns the code for handling the client-side default
|
|
561
|
+
*/
|
|
562
|
+
function emitClientSideDefault(param, csd, imports, indent, setterFormat) {
|
|
651
563
|
const defaultVar = getClientSideDefaultVarName(param);
|
|
652
564
|
let text = `${indent.get()}${defaultVar} := ${helpers.formatLiteralValue(csd.defaultValue, true)}\n`;
|
|
653
565
|
text += `${indent.get()}if options != nil && options.${naming.capitalize(param.name)} != nil {\n`;
|
|
@@ -673,6 +585,51 @@ function emitClientSideDefault(param, csd, setterFormat, imports, indent) {
|
|
|
673
585
|
}
|
|
674
586
|
return text;
|
|
675
587
|
}
|
|
588
|
+
/**
|
|
589
|
+
* emits code for setting a header from a parameter.
|
|
590
|
+
* it includes handling for client-side defaults.
|
|
591
|
+
*
|
|
592
|
+
* @param headerParam the header param to be set
|
|
593
|
+
* @param imports the import manager currently in scope
|
|
594
|
+
* @param indent the indentation helper currently in scope
|
|
595
|
+
* @returns the code for setting a header
|
|
596
|
+
*/
|
|
597
|
+
function emitHeaderSet(headerParam, imports, indent) {
|
|
598
|
+
if (headerParam.kind === "headerMapParam") {
|
|
599
|
+
let headerText = `${indent.get()}for k, v := range ${helpers.getParamName(headerParam)} {\n`;
|
|
600
|
+
headerText += `${indent.push().get()}if v != nil {\n`;
|
|
601
|
+
headerText += `${indent.push().get()}req.Raw().Header["${headerParam.headerName}"+k] = []string{*v}\n`;
|
|
602
|
+
headerText += `${indent.pop().get()}}\n`;
|
|
603
|
+
headerText += `${indent.pop().get()}}\n`;
|
|
604
|
+
return headerText;
|
|
605
|
+
}
|
|
606
|
+
else if (headerParam.location === "method" && go.isClientSideDefault(headerParam.style)) {
|
|
607
|
+
return emitClientSideDefault(headerParam, headerParam.style, imports, indent, (name, val) => {
|
|
608
|
+
return `${indent.get()}req.Raw().Header[${name}] = []string{${val}}`;
|
|
609
|
+
});
|
|
610
|
+
}
|
|
611
|
+
else {
|
|
612
|
+
return `${indent.get()}req.Raw().Header["${headerParam.headerName}"] = []string{${helpers.formatParamValue(headerParam, imports, indent)}}\n`;
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
/**
|
|
616
|
+
* emits code to URL escape a path parameter as required.
|
|
617
|
+
* the param name is a discrete param instead of param.name
|
|
618
|
+
* to handle cases where the param value was stored in a
|
|
619
|
+
* local variable.
|
|
620
|
+
*
|
|
621
|
+
* @param pp the path parameter
|
|
622
|
+
* @param paramName the path parameter var name
|
|
623
|
+
* @param imports the import manager currently in scope
|
|
624
|
+
* @returns the code that escaped the param or the param
|
|
625
|
+
*/
|
|
626
|
+
function emitPathEscape(pp, paramName, imports) {
|
|
627
|
+
if (pp.isEncoded) {
|
|
628
|
+
imports.add("net/url");
|
|
629
|
+
return `url.PathEscape(${paramName})`;
|
|
630
|
+
}
|
|
631
|
+
return paramName;
|
|
632
|
+
}
|
|
676
633
|
/**
|
|
677
634
|
* emits Go code to set ContentType on a MultipartContent variable if it has a fixed content type.
|
|
678
635
|
* handles both direct MultipartContent and slices of MultipartContent.
|
|
@@ -701,6 +658,85 @@ function emitMultipartContentTypeSetter(paramName, wireType, indent) {
|
|
|
701
658
|
}
|
|
702
659
|
return text;
|
|
703
660
|
}
|
|
661
|
+
/**
|
|
662
|
+
* helper to build nil checks for param groups.
|
|
663
|
+
* this requires that param.group contains a ParameterGroup.
|
|
664
|
+
* it assumes that the provided param is optional.
|
|
665
|
+
*
|
|
666
|
+
* @param param the parameter for which to build the nil check
|
|
667
|
+
* @param indent the indentation helper currently in scope
|
|
668
|
+
* @returns the code for checking the param group for nil
|
|
669
|
+
*/
|
|
670
|
+
function emitParamGroupCheck(param, indent) {
|
|
671
|
+
if (!param.group) {
|
|
672
|
+
throw new CodegenError("InternalError", `emitParamGroupCheck called for ungrouped parameter ${param.name}`);
|
|
673
|
+
}
|
|
674
|
+
let client = "";
|
|
675
|
+
if (param.location === "client") {
|
|
676
|
+
client = "client.";
|
|
677
|
+
}
|
|
678
|
+
const paramGroupName = naming.uncapitalize(param.group.name);
|
|
679
|
+
let optionalParamGroupCheck = `${client}${paramGroupName} != nil && `;
|
|
680
|
+
if (param.group.required) {
|
|
681
|
+
optionalParamGroupCheck = "";
|
|
682
|
+
}
|
|
683
|
+
return `${indent.get()}if ${optionalParamGroupCheck}${client}${paramGroupName}.${naming.capitalize(param.name)} != nil {\n`;
|
|
684
|
+
}
|
|
685
|
+
/**
|
|
686
|
+
* emits code for setting a query parameter.
|
|
687
|
+
* it handles nil checks and client-side defaults.
|
|
688
|
+
*
|
|
689
|
+
* @param qp the query param to be set
|
|
690
|
+
* @param imports the import manager currently in scope
|
|
691
|
+
* @param indent the indentation helper currently in scope
|
|
692
|
+
* @param setter the adjacent code for setting the query param
|
|
693
|
+
* @returns the code for setting the query param
|
|
694
|
+
*/
|
|
695
|
+
function emitQueryParam(qp, imports, indent, setter) {
|
|
696
|
+
let qpText;
|
|
697
|
+
if (qp.location === "method" && go.isClientSideDefault(qp.style)) {
|
|
698
|
+
qpText = emitClientSideDefault(qp, qp.style, imports, indent, (name, val) => {
|
|
699
|
+
return `${indent.get()}reqQP.Set(${name}, ${val})`;
|
|
700
|
+
});
|
|
701
|
+
}
|
|
702
|
+
else if (go.isRequiredParameter(qp.style) ||
|
|
703
|
+
go.isLiteralParameter(qp.style) ||
|
|
704
|
+
(qp.location === "client" && go.isClientSideDefault(qp.style))) {
|
|
705
|
+
qpText = `${indent.get()}${setter}\n`;
|
|
706
|
+
}
|
|
707
|
+
else if (qp.location === "client" && !qp.group) {
|
|
708
|
+
// global optional param
|
|
709
|
+
qpText = `${indent.get()}if client.${qp.name} != nil {\n`;
|
|
710
|
+
qpText += `${indent.push().get()}${setter}\n`;
|
|
711
|
+
qpText += `${indent.pop().get()}}\n`;
|
|
712
|
+
}
|
|
713
|
+
else {
|
|
714
|
+
qpText = emitParamGroupCheck(qp, indent);
|
|
715
|
+
qpText += `${indent.push().get()}${setter}\n`;
|
|
716
|
+
qpText += `${indent.pop().get()}}\n`;
|
|
717
|
+
}
|
|
718
|
+
return qpText;
|
|
719
|
+
}
|
|
720
|
+
/**
|
|
721
|
+
* emits code for setting the request body and checking the resultant error.
|
|
722
|
+
* it's assumed that setBodyExpr is a function call that returns an error.
|
|
723
|
+
* also sets the Content-Type header as required.
|
|
724
|
+
*
|
|
725
|
+
* @param setBodyExpr the expression for setting the body
|
|
726
|
+
* @param indent the indentation helper currently in scope
|
|
727
|
+
* @param contentType optional value for setting the Content-Type header
|
|
728
|
+
* @returns the code for setting the body
|
|
729
|
+
*/
|
|
730
|
+
function emitSetBodyWithErrCheck(setBodyExpr, indent, contentType) {
|
|
731
|
+
let content = "";
|
|
732
|
+
if (contentType) {
|
|
733
|
+
content += `${indent.get()}req.Raw().Header["Content-Type"] = []string{${contentType}}\n`;
|
|
734
|
+
}
|
|
735
|
+
content += `${indent.get()}if err := ${setBodyExpr}; err != nil {\n`;
|
|
736
|
+
content += `${indent.push().get()}return nil, err\n`;
|
|
737
|
+
content += `${indent.pop().get()}}\n`;
|
|
738
|
+
return content;
|
|
739
|
+
}
|
|
704
740
|
/**
|
|
705
741
|
* returns the var name to use for a param's client-side default value
|
|
706
742
|
*
|
|
@@ -710,6 +746,43 @@ function emitMultipartContentTypeSetter(paramName, wireType, indent) {
|
|
|
710
746
|
function getClientSideDefaultVarName(param) {
|
|
711
747
|
return naming.uncapitalize(param.name) + "Default";
|
|
712
748
|
}
|
|
749
|
+
/**
|
|
750
|
+
* returns the source value for the Content-Type header
|
|
751
|
+
*
|
|
752
|
+
* @param method the method for which to find the value depending on src
|
|
753
|
+
* @param src the source containing the value
|
|
754
|
+
* @returns the code containing the Content-Type value
|
|
755
|
+
*/
|
|
756
|
+
function getContentTypeValue(method, src) {
|
|
757
|
+
switch (src.kind) {
|
|
758
|
+
case "literal":
|
|
759
|
+
return helpers.formatLiteralValue(src, false);
|
|
760
|
+
case "parameterRef": {
|
|
761
|
+
// find the param
|
|
762
|
+
for (const param of method.parameters) {
|
|
763
|
+
if (param.kind === "headerScalarParam" && param.name === src.name) {
|
|
764
|
+
if (go.isClientSideDefault(param.style)) {
|
|
765
|
+
return getClientSideDefaultVarName(param);
|
|
766
|
+
}
|
|
767
|
+
let paramName = helpers.getParamName(param);
|
|
768
|
+
if (param.type.kind === "constant") {
|
|
769
|
+
paramName = `string(${paramName})`;
|
|
770
|
+
}
|
|
771
|
+
return paramName;
|
|
772
|
+
}
|
|
773
|
+
}
|
|
774
|
+
throw new CodegenError("InternalError", `didn't find parameter reference ${src.name}`);
|
|
775
|
+
}
|
|
776
|
+
}
|
|
777
|
+
}
|
|
778
|
+
/**
|
|
779
|
+
* returns info for custom marshaling of slices of time.Time.
|
|
780
|
+
* returns undefined if the type isn't a slice of time.Time or
|
|
781
|
+
* if no custom marshaling is required.
|
|
782
|
+
*
|
|
783
|
+
* @param paramType the type to inspect
|
|
784
|
+
* @returns custom marshaling info or undefined
|
|
785
|
+
*/
|
|
713
786
|
function isArrayOfDateTimeForMarshalling(paramType) {
|
|
714
787
|
if (paramType.kind !== "slice") {
|
|
715
788
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-handler.js","sourceRoot":"","sources":["../../../../src/codegen/core/request-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"request-handler.js","sourceRoot":"","sources":["../../../../src/codegen/core/request-handler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-tools/typespec-go",
|
|
3
|
-
"version": "0.16.0-dev.
|
|
3
|
+
"version": "0.16.0-dev.20",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec emitter for Go SDKs",
|
|
6
6
|
"homepage": "https://azure.github.io/typespec-azure",
|
|
@@ -39,19 +39,19 @@
|
|
|
39
39
|
],
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"@azure-tools/typespec-autorest": "^0.70.1 || >= 0.71.0-dev.4",
|
|
42
|
-
"@azure-tools/typespec-azure-core": "^0.70.0 || >= 0.71.0-dev.
|
|
43
|
-
"@azure-tools/typespec-azure-resource-manager": "^0.70.0 || >= 0.71.0-dev.
|
|
42
|
+
"@azure-tools/typespec-azure-core": "^0.70.0 || >= 0.71.0-dev.5",
|
|
43
|
+
"@azure-tools/typespec-azure-resource-manager": "^0.70.0 || >= 0.71.0-dev.14",
|
|
44
44
|
"@azure-tools/typespec-azure-rulesets": "^0.70.0 || >= 0.71.0-dev.5",
|
|
45
|
-
"@azure-tools/typespec-client-generator-core": "^0.70.0 || >= 0.71.0-dev.
|
|
45
|
+
"@azure-tools/typespec-client-generator-core": "^0.70.0 || >= 0.71.0-dev.13",
|
|
46
46
|
"@typespec/compiler": "^1.14.0",
|
|
47
47
|
"@typespec/events": "^0.84.0",
|
|
48
48
|
"@typespec/openapi": "^1.14.0",
|
|
49
|
-
"@typespec/http": "^1.14.0",
|
|
50
|
-
"@typespec/sse": "^0.84.0",
|
|
51
49
|
"@typespec/rest": "^0.84.0",
|
|
50
|
+
"@typespec/sse": "^0.84.0",
|
|
51
|
+
"@typespec/http": "^1.14.0",
|
|
52
52
|
"@typespec/streams": "^0.84.0",
|
|
53
|
-
"@typespec/
|
|
54
|
-
"@typespec/
|
|
53
|
+
"@typespec/versioning": "^0.84.0",
|
|
54
|
+
"@typespec/xml": "^0.84.0"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
57
|
"semver": "^7.7.4"
|
|
@@ -59,10 +59,10 @@
|
|
|
59
59
|
"devDependencies": {
|
|
60
60
|
"@azure-tools/azure-http-specs": "^0.1.0-alpha.43 || >= 0.1.0-alpha.44-dev.6",
|
|
61
61
|
"@azure-tools/typespec-autorest": "^0.70.1 || >= 0.71.0-dev.4",
|
|
62
|
-
"@azure-tools/typespec-azure-core": "^0.70.0 || >= 0.71.0-dev.
|
|
63
|
-
"@azure-tools/typespec-azure-resource-manager": "^0.70.0 || >= 0.71.0-dev.
|
|
62
|
+
"@azure-tools/typespec-azure-core": "^0.70.0 || >= 0.71.0-dev.5",
|
|
63
|
+
"@azure-tools/typespec-azure-resource-manager": "^0.70.0 || >= 0.71.0-dev.14",
|
|
64
64
|
"@azure-tools/typespec-azure-rulesets": "^0.70.0 || >= 0.71.0-dev.5",
|
|
65
|
-
"@azure-tools/typespec-client-generator-core": "^0.70.0 || >= 0.71.0-dev.
|
|
65
|
+
"@azure-tools/typespec-client-generator-core": "^0.70.0 || >= 0.71.0-dev.13",
|
|
66
66
|
"@types/node": "^26.0.0",
|
|
67
67
|
"@types/semver": "^7.7.1",
|
|
68
68
|
"@vitest/coverage-v8": "^4.1.3",
|
|
@@ -70,19 +70,19 @@
|
|
|
70
70
|
"rimraf": "^6.1.3",
|
|
71
71
|
"typescript": "~6.0.2",
|
|
72
72
|
"vitest": "^4.1.3",
|
|
73
|
-
"@typespec/compiler": "^1.14.0",
|
|
74
73
|
"@azure-tools/spector-runner": "^0.1.0",
|
|
75
74
|
"@typespec/events": "^0.84.0",
|
|
76
75
|
"@typespec/http": "^1.14.0",
|
|
77
76
|
"@typespec/http-specs": "^0.1.0-alpha.40",
|
|
78
77
|
"@typespec/openapi": "^1.14.0",
|
|
78
|
+
"@typespec/compiler": "^1.14.0",
|
|
79
79
|
"@typespec/rest": "^0.84.0",
|
|
80
80
|
"@typespec/spector": "^0.1.0-alpha.27",
|
|
81
81
|
"@typespec/sse": "^0.84.0",
|
|
82
|
-
"@typespec/
|
|
82
|
+
"@typespec/streams": "^0.84.0",
|
|
83
83
|
"@typespec/tspd": "^0.76.0",
|
|
84
|
+
"@typespec/spec-api": "^0.1.0-alpha.15",
|
|
84
85
|
"@typespec/xml": "^0.84.0",
|
|
85
|
-
"@typespec/streams": "^0.84.0",
|
|
86
86
|
"@typespec/versioning": "^0.84.0"
|
|
87
87
|
},
|
|
88
88
|
"scripts": {
|