@@ -333,18 +333,26 @@ var (
333
333
var protoReq {{.Method.RequestType.GoType .Method.Service.File.GoPkg.Path}}
334
334
var metadata runtime.ServerMetadata
335
335
{{if .Body}}
336
+ {{- $isFieldMask := and $AllowPatchFeature (eq (.HTTPMethod) "PATCH") (.FieldMaskField) (not (eq "*" .GetBodyFieldPath)) }}
337
+ {{- if $isFieldMask }}
336
338
newReader, berr := utilities.IOReaderFactory(req.Body)
337
339
if berr != nil {
338
340
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
339
341
}
342
+ {{- end}}
340
343
{{- $protoReq := .Body.AssignableExprPrep "protoReq" .Method.Service.File.GoPkg.Path -}}
341
344
{{- if ne "" $protoReq }}
342
345
{{printf "%s" $protoReq }}
343
346
{{- end}}
347
+ {{- if not $isFieldMask }}
348
+ if err := marshaler.NewDecoder(req.Body).Decode(&{{.Body.AssignableExpr "protoReq" .Method.Service.File.GoPkg.Path}}); err != nil && err != io.EOF {
349
+ return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
350
+ }
351
+ {{end}}
352
+ {{- if $isFieldMask }}
344
353
if err := marshaler.NewDecoder(newReader()).Decode(&{{.Body.AssignableExpr "protoReq" .Method.Service.File.GoPkg.Path}}); err != nil && err != io.EOF {
345
354
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
346
355
}
347
- {{- if and $AllowPatchFeature (eq (.HTTPMethod) "PATCH") (.FieldMaskField) (not (eq "*" .GetBodyFieldPath)) }}
348
356
if protoReq.{{.FieldMaskField}} == nil || len(protoReq.{{.FieldMaskField}}.GetPaths()) == 0 {
349
357
if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.{{.GetBodyFieldStructName}}); err != nil {
350
358
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
@@ -502,18 +510,26 @@ func local_request_{{.Method.Service.GetName}}_{{.Method.GetName}}_{{.Index}}(ct
502
510
var protoReq {{.Method.RequestType.GoType .Method.Service.File.GoPkg.Path}}
503
511
var metadata runtime.ServerMetadata
504
512
{{if .Body}}
513
+ {{- $isFieldMask := and $AllowPatchFeature (eq (.HTTPMethod) "PATCH") (.FieldMaskField) (not (eq "*" .GetBodyFieldPath)) }}
514
+ {{- if $isFieldMask }}
505
515
newReader, berr := utilities.IOReaderFactory(req.Body)
506
516
if berr != nil {
507
517
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr)
508
518
}
519
+ {{- end}}
509
520
{{- $protoReq := .Body.AssignableExprPrep "protoReq" .Method.Service.File.GoPkg.Path -}}
510
521
{{- if ne "" $protoReq }}
511
522
{{printf "%s" $protoReq }}
512
523
{{- end}}
524
+ {{- if not $isFieldMask }}
525
+ if err := marshaler.NewDecoder(req.Body).Decode(&{{.Body.AssignableExpr "protoReq" .Method.Service.File.GoPkg.Path}}); err != nil && err != io.EOF {
526
+ return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
527
+ }
528
+ {{end}}
529
+ {{- if $isFieldMask }}
513
530
if err := marshaler.NewDecoder(newReader()).Decode(&{{.Body.AssignableExpr "protoReq" .Method.Service.File.GoPkg.Path}}); err != nil && err != io.EOF {
514
531
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
515
532
}
516
- {{- if and $AllowPatchFeature (eq (.HTTPMethod) "PATCH") (.FieldMaskField) (not (eq "*" .GetBodyFieldPath)) }}
517
533
if protoReq.{{.FieldMaskField}} == nil || len(protoReq.{{.FieldMaskField}}.GetPaths()) == 0 {
518
534
if fieldMask, err := runtime.FieldMaskFromRequestBody(newReader(), protoReq.{{.GetBodyFieldStructName}}); err != nil {
519
535
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
0 commit comments