-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: partial message created as named definitions #3743
feat: partial message created as named definitions #3743
Conversation
WalkthroughThe changes encompass enhancements to the swagger generation for RPCs with body and path parameters. By introducing named schema definitions instead of anonymous inline schemas, the updated code aligns with best practices for compatibility with code generators. This refactoring facilitates downstream code generation by using a clear naming convention for body schemas. Changes
Assessment against linked issues
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on X ? TipsChat with CodeRabbit Bot (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 1
Configuration used: CodeRabbit UI
Files selected for processing (2)
- protoc-gen-openapiv2/internal/genopenapi/template.go (7 hunks)
- protoc-gen-openapiv2/internal/genopenapi/template_test.go (1 hunks)
Additional comments: 5
protoc-gen-openapiv2/internal/genopenapi/template.go (5)
7-13: The import of
path/filepath
is new and should be used in the code. Verify that the new import is used appropriately and that there are no conflicts with existing code.43-43: The new global variable
nonAlphanumeric
is a compiled regular expression. Ensure that it is used correctly to replace non-alphanumeric characters where needed, and that it is not recompiled in a loop or frequently called function for performance reasons.1120-1123: The
renderServices
function has been updated to include an additional parameterdefs openapiDefinitionsObject
. This change is significant as it affects the function signature. Ensure that all calls torenderServices
are updated to pass the new parameter. Additionally, verify that thedefs
parameter is used correctly within the function to handle the creation and referencing of schema definitions.1279-1304: > Note: This review was outside of the patch, so it was mapped to the patch with the greatest overlap. Original lines [1258-1304]
The logic for handling the body of a POST method has been updated. The code now checks if the body is empty and if so, it uses the request type as the body schema. If the body is not empty, it uses the specified field. This logic is crucial for generating accurate Swagger definitions. Ensure that the logic correctly handles all cases, including nested messages and well-known types, and that the Swagger output is as expected.
- 1766-1771: The
renderServices
function is called with the newdefs
parameter. This is a critical change and should be verified to ensure that thedefs
parameter is being used correctly within the function to populate the Swagger definitions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this! I think you need to regenerate the files with the changes, please see CONTRIBUTING.md for a guide.
@johanbrandhorst thank you for the review. I'm in a busy sprint right now but should be able to address your comments next week. |
Useful for proto Message that are used in a POST method for example where the properties of the messages are split between path params and body params. For downstream code generator, you want the body params to be wrapped inside a name swagger definitions object
243819e
to
ef380ea
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 7
Configuration used: CodeRabbit UI
Files ignored due to filter (2)
- examples/internal/clients/abe/api/swagger.yaml
- examples/internal/proto/examplepb/a_bit_of_everything.swagger.json
Files selected for processing (10)
- examples/internal/clients/abe/BUILD.bazel (1 hunks)
- examples/internal/clients/abe/api_a_bit_of_everything_service.go (8 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything_1.go (1 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything_2.go (2 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything_service_deep_path_echo_body.go (1 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything_service_deep_path_echo_body_single_nested.go (1 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything_service_update_body.go (1 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything_service_update_v2_body.go (1 hunks)
- protoc-gen-openapiv2/internal/genopenapi/template.go (5 hunks)
- protoc-gen-openapiv2/internal/genopenapi/template_test.go (1 hunks)
Files skipped from review due to trivial changes (2)
- examples/internal/clients/abe/model_a_bit_of_everything_service_update_body.go
- examples/internal/clients/abe/model_a_bit_of_everything_service_update_v2_body.go
Additional comments: 18
examples/internal/clients/abe/BUILD.bazel (1)
- 22-31: The addition of new source files to the
go_library
rule in theBUILD.bazel
file is consistent with the PR objectives and the AI-generated overview. These files are expected to introduce new functionality or logic as part of the service handling or updates within the project.examples/internal/clients/abe/api_a_bit_of_everything_service.go (6)
3060-3060: The method signature for
ABitOfEverythingServiceDeepPathEcho
has been updated to accept a new parameter typeABitOfEverythingServiceDeepPathEchoBody
. Ensure all calls to this method are updated to pass the correct type.5821-5821: The method
ABitOfEverythingServicePostWithEmptyBody
no longer accepts abody
parameter, which aligns with the PR's objective to handle cases with an empty body. Verify that this change is reflected wherever the method is called.6132-6132: The method
ABitOfEverythingServiceUpdate
now takes aABitOfEverythingServiceUpdateBody
type for thebody
parameter. This should be verified across the codebase to ensure compatibility.6467-6467: The method
ABitOfEverythingServiceUpdateV2
has a modified parameter type forabe
, changing fromABitOfEverything2
toABitOfEverything
. This is a significant change and should be verified for correct usage throughout the codebase.6629-6629: The method
ABitOfEverythingServiceUpdateV22
now acceptsABitOfEverything1
instead ofABitOfEverything3
. This change in parameter type must be verified for correct usage.6788-6788: The method
ABitOfEverythingServiceUpdateV23
has been updated to takeABitOfEverythingServiceUpdateV2Body
for thebody
parameter. This change aligns with the PR's objectives and should be verified for correct usage.examples/internal/clients/abe/model_a_bit_of_everything_1.go (2)
- 19-19: The change in the type of
SingleNested
fromV1exampledeepPathsingleNestedNameSingleNested
toABitOfEverythingNested
should be verified across the codebase to ensure that all references and usages of this field are updated accordingly.Verification successful
The verification process has not revealed any issues with the changes made to the
ABitOfEverything1
struct. The type change for theSingleNested
field and the removal of theUuid
field appear to be consistent with the rest of the codebase. No unresolved references or broken functionality related to these changes have been detected.* 19-19: The removal of the `Uuid` field from `ABitOfEverything1` requires a thorough search throughout the codebase to identify any code that may be referencing this field and update or remove such references to prevent runtime errors.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for the old type to find any remaining usages that need to be updated. rg --type go 'V1exampledeepPathsingleNestedNameSingleNested' # Search for the new type to validate its usage. rg --type go 'ABitOfEverythingNested'Length of output: 9426
Script:
#!/bin/bash # Search for any remaining usages of the `Uuid` field that might need to be updated. rg --type go 'Uuid'Length of output: 12489
examples/internal/clients/abe/model_a_bit_of_everything_2.go (1)
- 57-72: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [22-72]
The addition of
omitempty
to JSON tags for struct fields inABitOfEverything2
indicates that these fields are now optional in the JSON output. Ensure that this change aligns with the intended usage of the API and that any client code consuming this API can handle the absence of these fields.examples/internal/clients/abe/model_a_bit_of_everything_service_deep_path_echo_body_single_nested.go (1)
- 13-18: The struct
ABitOfEverythingServiceDeepPathEchoBodySingleNested
is well-defined with appropriate JSON tags and documentation comments. The use ofomitempty
for optional fields follows Go best practices.protoc-gen-openapiv2/internal/genopenapi/template.go (6)
- 1117-1120: The function
renderServices
has been updated to include a new parameterdefs openapiDefinitionsObject
. This change aligns with the PR objectives to improve the generation of Swagger specifications. Ensure that all calls to this function have been updated to pass the new parameter.Verification successful
The verification process has confirmed that the
renderServices
function has been updated with the new parameterdefs openapiDefinitionsObject
and that all calls to this function within the codebase have been updated accordingly to include this parameter.* 1255-1263: The handling of the body parameter in the `renderServices` function has been updated. It now checks if the `Body` is non-nil and then proceeds to handle the body schema generation. This change seems to be part of the PR objectives to handle named schema definitions for message parts used in the body of a POST method.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify that all calls to renderServices include the new parameter. ast-grep --lang go --pattern $'renderServices($$$, $$$, $$$, $$$, $$$, $$$, $$$)'Length of output: 271
Script:
#!/bin/bash # Search for calls to renderServices that do not include the new parameter. ast-grep --lang go --pattern $'renderServices($$$, $$$, $$$, $$$, $$$, $$$)'Length of output: 266
1284-1295: The code now includes logic to create a named definition for the body schema if the message has properties, and it logs a warning if the message has no properties. This is a significant change that should be verified to ensure it does not introduce any regressions or unexpected behavior.
1315-1325: The
renderFieldAsDefinition
function is used to generate the schema for a field that is specified as the body of the request. This change seems to be part of the PR objectives to handle named schema definitions for message parts used in the body of a POST method.1331-1339: The addition of the body parameter to the
openapiParameterObject
list is conditional on theschema
being non-nil. This is a logical change that prevents the addition of an empty or undefined body parameter to the OpenAPI specification.1763-1763: The call to
renderServices
within theapplyTemplate
function has been updated to include the newdefs
parameter, which is consistent with the changes made to therenderServices
function signature.protoc-gen-openapiv2/internal/genopenapi/template_test.go (1)
- 3586-3765: The addition of the new test function
TestApplyTemplateWithRequestAndBodyParameters
is comprehensive and appears to cover the necessary assertions to validate the template application. Ensure that the test cases cover various scenarios, including more complex paths as suggested byjohanbrandhorst
in the previous comments.
examples/internal/clients/abe/model_a_bit_of_everything_service_deep_path_echo_body.go
Show resolved
Hide resolved
examples/internal/clients/abe/model_a_bit_of_everything_service_deep_path_echo_body.go
Show resolved
Hide resolved
examples/internal/clients/abe/model_a_bit_of_everything_service_deep_path_echo_body.go
Show resolved
Hide resolved
examples/internal/clients/abe/model_a_bit_of_everything_service_deep_path_echo_body.go
Show resolved
Hide resolved
examples/internal/clients/abe/model_a_bit_of_everything_service_deep_path_echo_body.go
Show resolved
Hide resolved
panic(fmt.Errorf("could not find OpenAPI naming lookup naming strategy '%s'", reg.GetOpenAPINamingStrategy())) | ||
} | ||
strats := strategyFn([]string{meth.FQMN(), svc.FQSN()}) | ||
defName := fmt.Sprintf("%sBody", strats[meth.FQMN()]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm afraid I don't think this will be sufficient. Services are unique per file, but we support merging files into a single swagger file. I think we'll need to keep track of names and just add something to the end when we discover a collision. It'd need to be carried across all file generations so it'll be a bit more invasive than this. What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I changed to use the same mechanism as for messages: the FQN of the method coupled with the fullyQualifiedNameToOpenAPIName
function. The function will generate the smallest non-ambiguous FQN, based on the naming strategy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sounds great, thanks
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment on name generation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 8
Configuration used: CodeRabbit UI
Files ignored due to filter (7)
- examples/internal/clients/abe/api/swagger.yaml
- examples/internal/clients/echo/api/swagger.yaml
- examples/internal/proto/examplepb/a_bit_of_everything.swagger.json
- examples/internal/proto/examplepb/echo_service.swagger.json
- examples/internal/proto/examplepb/flow_combination.swagger.json
- examples/internal/proto/examplepb/non_standard_names.swagger.json
- runtime/internal/examplepb/non_standard_names.swagger.json
Files selected for processing (13)
- examples/internal/clients/abe/BUILD.bazel (2 hunks)
- examples/internal/clients/abe/api_a_bit_of_everything_service.go (11 hunks)
- examples/internal/clients/abe/api_echo_rpc.go (1 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything.go (2 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything_service_post_with_empty_body_body.go (1 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything_service_update_v2_body.go (1 hunks)
- examples/internal/clients/abe/model_examplepb_a_bit_of_everything_service_update_body.go (1 hunks)
- examples/internal/clients/abe/model_examplepb_required_message_type_request.go (1 hunks)
- examples/internal/clients/abe/model_protoexamplepb_foo.go (1 hunks)
- examples/internal/clients/echo/api_echo_service.go (3 hunks)
- internal/descriptor/registry.go (3 hunks)
- internal/descriptor/services.go (1 hunks)
- protoc-gen-openapiv2/internal/genopenapi/template.go (6 hunks)
Additional comments: 27
examples/internal/clients/abe/BUILD.bazel (2)
- 22-36: The inclusion of new Go source files in the
go_library
target aligns with the PR objectives to support new named definitions for partial messages. Ensure that these files are correctly placed in the repository and that their corresponding Go packages are properly referenced.Verification successful
The executed shell scripts have verified that the new Go source files mentioned in the PR are indeed present in the
examples/internal/clients/abe
directory. Additionally, therg
command confirms that these files declare thepackage abe
, which suggests they are correctly placed within the repository and are part of the expected Go package.Based on the information provided by the scripts, it appears that the changes to the
BUILD.bazel
file are consistent with the PR objectives and the AI-generated summary. The new files are present and correctly declare their package, which aligns with the expected modifications for supporting new named definitions for partial messages in the Swagger/OpenAPI specifications.* 49-55: The addition of `model_protoexamplepb_foo.go` is consistent with the PR's aim to enhance Swagger specification generation. Verify that this file is correctly integrated into the build process and that it does not introduce any build issues.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Verify that the new Go files are present in the expected directory. fd 'model_a_bit_of_everything_service_.*\.go' examples/internal/clients/abe # Verify that the import paths in the new Go files are correct. rg 'package abe' examples/internal/clients/abe --files-with-matchesLength of output: 4218
examples/internal/clients/abe/api_a_bit_of_everything_service.go (11)
1210-1210: The function
ABitOfEverythingServiceCheckPostQueryParams
now acceptsinterface{}
for thesingleNested
parameter instead of a specific type. This increases flexibility but may introduce type safety issues. Ensure that runtime type assertions are properly handled where this function is called.2158-2158: The
ABitOfEverythingServiceCreateBook
function'sbook
parameter has been changed tointerface{}
. Similar to the previous comment, verify that type assertions are in place to maintain type safety.3060-3060: The
ABitOfEverythingServiceDeepPathEcho
function has a new parameter typeABitOfEverythingServiceDeepPathEchoBody
forbody
. Confirm that all invocations of this function have been updated to pass the correct type.4269-4269: The
ABitOfEverythingServiceGetMessageWithBody
function now returnsinterface{}
. This change should be accompanied by updates to the calling code to handle the dynamic return type.5507-5507: The
ABitOfEverythingServicePostOneofEnum
function's parameterexampleEnum
has been changed tointerface{}
. As with other similar changes, ensure that the calling code is updated to handle the dynamic type.5822-5822: The
ABitOfEverythingServicePostWithEmptyBody
function now has a new parameter typeABitOfEverythingServicePostWithEmptyBodyBody
forbody
. Verify that the calling code is updated accordingly.6135-6135: The
ABitOfEverythingServiceUpdate
function'sbody
parameter type has been changed toExamplepbABitOfEverythingServiceUpdateBody
. Ensure that all calls to this function are updated to use the new type.6301-6301: The
ABitOfEverythingServiceUpdateBook
function'sbook
parameter is now of typeinterface{}
. Verify that the calling code properly handles the dynamic type and performs necessary type assertions.6470-6470: The
ABitOfEverythingServiceUpdateV2
function'sabe
parameter is now of typeinterface{}
. Ensure that the calling code is updated to handle the dynamic type and that type safety is not compromised.6632-6632: The
ABitOfEverythingServiceUpdateV22
function'sabe
parameter is now of typeinterface{}
. As with other similar changes, verify that the calling code is updated to handle the dynamic type.6791-6791: The
ABitOfEverythingServiceUpdateV23
function has a new parameter typeABitOfEverythingServiceUpdateV2Body
forbody
. Confirm that all invocations of this function have been updated to pass the correct type.examples/internal/clients/abe/model_a_bit_of_everything.go (1)
- 57-72: > Note: This review was outside the patches, so it was mapped to the patch with the greatest overlap. Original lines [22-69]
The
omitempty
JSON tag has been added to several fields of theABitOfEverything
struct. This change will cause these fields to be omitted from the JSON output if they are empty, which could affect the behavior of any clients that expect these fields to be present. Ensure that this change is communicated to all clients and that it does not break any existing functionality.examples/internal/clients/abe/model_a_bit_of_everything_service_update_v2_body.go (1)
- 13-17: The
ABitOfEverythingServiceUpdateV2Body
struct includes anomitempty
tag for theAbe
field. Ensure that it is acceptable for theAbe
field to be omitted in the JSON representation when it is empty, as this could affect the behavior of the API if the field is expected to be present.examples/internal/clients/abe/model_examplepb_a_bit_of_everything_service_update_body.go (1)
- 18-78: The
ExamplepbABitOfEverythingServiceUpdateBody
struct has fields without theomitempty
JSON tag, which differs from theABitOfEverything
struct whereomitempty
was added. Ensure consistency in the use ofomitempty
across similar structs unless there is a specific reason for this discrepancy.examples/internal/clients/abe/model_examplepb_required_message_type_request.go (1)
- 15-15: The
Foo
field in theExamplepbRequiredMessageTypeRequest
struct has been changed to a pointer toProtoexamplepbFoo
. Ensure that all usages of this struct have been updated to handle the pointer type correctly and that theProtoexamplepbFoo
type is properly defined and imported.examples/internal/clients/abe/model_protoexamplepb_foo.go (1)
- 13-15: The
ProtoexamplepbFoo
struct contains a single fieldBar
of typeExamplepbBar
. Ensure that this struct is used appropriately and that theExamplepbBar
type is properly defined and imported. If additional fields are expected in this struct, they should be added.internal/descriptor/registry.go (3)
31-32: The addition of the
meths
field to theRegistry
struct is intended to map fully-qualified method names to their descriptors. Ensure that this new field is populated correctly wherever methods are registered in the registry and that it is utilized appropriately throughout the codebase.478-483: The new method
GetAllFQMethNs
has been added to theRegistry
type. This method should be used wherever a list of all fully-qualified method names is required. Ensure that this method is called instead of manually iterating over themeths
map.486-488: The method
SetAllowDeleteBody
has been added to theRegistry
type. This method should be used to configure whether HTTP DELETE methods may have a body. Ensure that this setting is respected in all relevant parts of the codebase.internal/descriptor/services.go (1)
- 68-68: The addition of the method descriptor to the
meths
map in theRegistry
type ensures that method descriptors can be looked up by their fully-qualified method name. Verify that this map is used appropriately throughout the codebase and that the fully-qualified method name is unique.protoc-gen-openapiv2/internal/genopenapi/template.go (5)
913-919: The function
fullyQualifiedNameToOpenAPIName
has been updated to includereg.GetAllFQMethNs()
in the mapping resolution. This change ensures that fully qualified method names are also considered when generating OpenAPI names, which is important for accurately representing gRPC service methods in the Swagger/OpenAPI output.1117-1120: The function
renderServices
now accepts an additional parameterdefs
of typeopenapiDefinitionsObject
. This change is necessary to support the creation of named schema definitions for message parts used in the body of a POST method, as mentioned in the PR description. The function's logic will need to ensure that these definitions are correctly populated and referenced in the generated Swagger/OpenAPI output.1285-1297: The new logic block handles the case when
meth.Name
is not nil, which is used to modify the behavior of theschema
variable and update thedefs
map. This is part of the new functionality to create named schema definitions. It's important to ensure that thedefs
map is updated correctly to avoid any potential issues with missing or incorrect schema references in the Swagger/OpenAPI output.1317-1320: The call to
renderFieldAsDefinition
within theif b.Body != nil
block is correctly placed to handle the rendering of fields as definitions. However, the error handling for this function call is not visible within the provided hunk. It is assumed that any errors returned byrenderFieldAsDefinition
are handled appropriately elsewhere in the code.1758-1764: The call to
renderServices
withinapplyTemplate
function correctly passes the newdefs
parameter to the function. This is in line with the changes made to therenderServices
function signature and is necessary for the correct generation of Swagger/OpenAPI specifications.
examples/internal/clients/abe/model_a_bit_of_everything_service_post_with_empty_body_body.go
Show resolved
Hide resolved
80c0c54
to
a12166b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files ignored due to filter (7)
- examples/internal/clients/abe/api/swagger.yaml
- examples/internal/clients/echo/api/swagger.yaml
- examples/internal/proto/examplepb/a_bit_of_everything.swagger.json
- examples/internal/proto/examplepb/echo_service.swagger.json
- examples/internal/proto/examplepb/flow_combination.swagger.json
- examples/internal/proto/examplepb/non_standard_names.swagger.json
- runtime/internal/examplepb/non_standard_names.swagger.json
Files selected for processing (13)
- examples/internal/clients/abe/BUILD.bazel (2 hunks)
- examples/internal/clients/abe/api_a_bit_of_everything_service.go (11 hunks)
- examples/internal/clients/abe/api_echo_rpc.go (1 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything.go (2 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything_service_post_with_empty_body_body.go (1 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything_service_update_v2_body.go (1 hunks)
- examples/internal/clients/abe/model_examplepb_a_bit_of_everything_service_update_body.go (1 hunks)
- examples/internal/clients/abe/model_examplepb_required_message_type_request.go (1 hunks)
- examples/internal/clients/abe/model_protoexamplepb_foo.go (1 hunks)
- examples/internal/clients/echo/api_echo_service.go (3 hunks)
- internal/descriptor/registry.go (3 hunks)
- internal/descriptor/services.go (1 hunks)
- protoc-gen-openapiv2/internal/genopenapi/template.go (4 hunks)
Files skipped from review due to trivial changes (3)
- examples/internal/clients/abe/model_a_bit_of_everything_service_post_with_empty_body_body.go
- examples/internal/clients/abe/model_a_bit_of_everything_service_update_v2_body.go
- examples/internal/clients/abe/model_protoexamplepb_foo.go
Files skipped from review as they are similar to previous changes (7)
- examples/internal/clients/abe/api_a_bit_of_everything_service.go
- examples/internal/clients/abe/api_echo_rpc.go
- examples/internal/clients/abe/model_a_bit_of_everything.go
- examples/internal/clients/abe/model_examplepb_required_message_type_request.go
- examples/internal/clients/echo/api_echo_service.go
- internal/descriptor/registry.go
- internal/descriptor/services.go
Additional comments: 6
examples/internal/clients/abe/BUILD.bazel (1)
- 22-36: The addition of new Go source files and a protobuf file to the
go_library
inBUILD.bazel
is noted. Ensure that these new files are correctly integrated into the build process and that their dependencies are managed appropriately.examples/internal/clients/abe/model_examplepb_a_bit_of_everything_service_update_body.go (1)
- 1-78: The Go struct
ExamplepbABitOfEverythingServiceUpdateBody
is well-defined with appropriate JSON tags and omitempty where necessary. However, ensure that the fields withomitempty
are optional in your business logic, as their absence won't cause any runtime issues.protoc-gen-openapiv2/internal/genopenapi/template.go (4)
913-919: The function
fullyQualifiedNameToOpenAPIName
has been updated to include method names (reg.GetAllFQMethNs()
) in the mapping process. Verify that this change is consistent with the intended use of method names in the OpenAPI naming strategy.1117-1120: The signature of
renderServices
now includesdefs openapiDefinitionsObject
as a parameter. This change aligns with the PR's objective to handle named schema definitions. Ensure that the downstream usage ofrenderServices
is updated to pass this new parameter.1285-1297: The logic to create named schema definitions for message parts used in the body of a POST method is implemented. Ensure that the naming convention for
defName
(methFQN + "Body"
) is consistent and does not conflict with existing definitions in the OpenAPI spec.1758-1764: The
applyTemplate
function's call torenderServices
now includes thes.Definitions
parameter. This is a critical change that should be thoroughly tested to ensure that the Swagger output is generated correctly with the new named definitions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Something strange is happening to the generated swagger files. Can you tell where the missing schema definitions have gone?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files ignored due to filter (2)
- examples/internal/clients/abe/api/swagger.yaml
- examples/internal/proto/examplepb/a_bit_of_everything.swagger.json
Files selected for processing (2)
- examples/internal/clients/abe/api_a_bit_of_everything_service.go (6 hunks)
- examples/internal/clients/abe/model_a_bit_of_everything_service_update_v2_body.go (1 hunks)
Additional comments: 8
examples/internal/clients/abe/api_a_bit_of_everything_service.go (6)
3060-3060: The method
ABitOfEverythingServiceDeepPathEcho
has been updated to accept a new parameter type. Ensure that all calls to this method are updated to pass the correct type. Additionally, check if thelocalVarPostBody
is properly assigned before making the HTTP request, as the assignment is not visible in the provided hunk.5822-5822: The method
ABitOfEverythingServicePostWithEmptyBody
has been updated to accept a new parameter type. Verify that thelocalVarPostBody
is correctly handled within the method, especially since the method is intended to handle an empty body scenario.6135-6135: The method
ABitOfEverythingServiceUpdate
now takes a different body type. Confirm that thelocalVarPostBody
is set appropriately and that the method's logic correctly handles the new body type.6470-6470: The method
ABitOfEverythingServiceUpdateV2
has a modified signature. It is crucial to ensure that thelocalVarPostBody
is correctly populated with theabe
parameter and that the optional parameters are handled as expected.6632-6632: The method
ABitOfEverythingServiceUpdateV22
has been updated to acceptABitOfEverything1
as a parameter. Ensure that thelocalVarPostBody
is correctly assigned and that the method's logic is consistent with the new parameter type.6791-6791: The method
ABitOfEverythingServiceUpdateV23
has a new parameter type in its signature. Verify that thelocalVarPostBody
is being correctly utilized within the method and that the new body type is handled properly.examples/internal/clients/abe/model_a_bit_of_everything_service_update_v2_body.go (2)
13-17: The
ABitOfEverythingServiceUpdateV2Body
struct is well-defined with appropriate JSON tags. The use ofomitempty
allows for optional fields in the JSON payload, which is a common practice in API design to avoid sending null or default values. Ensure that theomitempty
behavior aligns with the API's requirements for these fields.14-14: Verify that the
ABitOfEverything2
type is correctly defined and that its usage here is consistent with the rest of the codebase.Verification successful
The shell script has successfully located the definition of
ABitOfEverything2
within the Go files of the project. It is defined in the fileexamples/internal/clients/abe/model_a_bit_of_everything_2.go
. This confirms that the typeABitOfEverything2
is indeed defined in the codebase, and its usage in the filemodel_a_bit_of_everything_service_update_v2_body.go
is consistent with the rest of the codebase, as it references an existing type.Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Search for the definition of ABitOfEverything2 in the Go files. rg --type go 'type ABitOfEverything2 'Length of output: 133
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me, thanks so much! I do worry if we've missed any subtleties, but at this point I'm hoping we can get it into the hands of some users to iron out any issues.
Looks like we got a test failure 🤔. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Review Status
Actionable comments generated: 0
Configuration used: CodeRabbit UI
Files ignored due to filter (1)
- protoc-gen-openapiv2/internal/genopenapi/testdata/generator/path_item_object.swagger.yaml
Files selected for processing (1)
- protoc-gen-openapiv2/internal/genopenapi/template_test.go (9 hunks)
Additional comments: 9
protoc-gen-openapiv2/internal/genopenapi/template_test.go (9)
3586-3765: The new test function
TestApplyTemplateWithRequestAndBodyParameters
is comprehensive and covers the setup of protobuf descriptors, messages, and services. It also includes assertions to verify the Swagger generation output. Ensure that the test cases cover all new scenarios introduced by the PR, including edge cases and error handling.3587-3626: The protobuf descriptor setup for
Book
andCreateBookRequest
appears to be correct and complete. It defines the necessary fields with appropriate types and labels.3627-3635: The service and method descriptor setup is correct and aligns with the expected structure for a gRPC service definition. The method
CreateBook
is properly linked to its request and response types.3637-3656: The message and field descriptor setup is correct. The fields are associated with their respective messages, and the
FieldMessage
is set for thebookField
, which is necessary for nested message types.3660-3711: The file descriptor and service binding setup is correct. The file descriptor includes all necessary components, such as message types and services, and the service binding specifies the HTTP method and path template.
3713-3728: The registry setup and template application are correctly implemented. The registry is loaded with the file descriptor, and the template is applied to generate the Swagger output.
3729-3758: The assertions in the test function are thorough and check the Swagger version, base path, schemes, consumes, produces, paths, and definitions. Ensure that these assertions align with the expected Swagger output for the changes introduced in the PR.
3760-3764: The debugging section provided in the test function is useful for diagnosing issues when the test fails. It prints out the input and the result, which can aid in troubleshooting.
6860-6860: The registry loading code is repeated across multiple test functions. Ensure that this is necessary for each test case and that any setup specific to each test is handled appropriately.
Thanks for your contribution! |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [github.com/aws/aws-sdk-go](https://togithub.com/aws/aws-sdk-go) | `v1.49.13` -> `v1.49.16` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go/v1.49.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go/v1.49.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go/v1.49.13/v1.49.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go/v1.49.13/v1.49.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/cerbos/cloud-api](https://togithub.com/cerbos/cloud-api) | `v0.1.13` -> `v0.1.14` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcerbos%2fcloud-api/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcerbos%2fcloud-api/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcerbos%2fcloud-api/v0.1.13/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcerbos%2fcloud-api/v0.1.13/v0.1.14?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/grpc-ecosystem/grpc-gateway/v2](https://togithub.com/grpc-ecosystem/grpc-gateway) | `v2.18.1` -> `v2.19.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/pterm/pterm](https://togithub.com/pterm/pterm) | `v0.12.73` -> `v0.12.74` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fpterm%2fpterm/v0.12.74?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fpterm%2fpterm/v0.12.74?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fpterm%2fpterm/v0.12.73/v0.12.74?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fpterm%2fpterm/v0.12.73/v0.12.74?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | golang.org/x/exp | `02704c9` -> `be819d1` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fexp/?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fexp/?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fexp/v0.0.0-20231226003508-02704c960a9b/?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fexp/v0.0.0-20231226003508-02704c960a9b/?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | digest | | golang.org/x/sync | `v0.5.0` -> `v0.6.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsync/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fsync/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fsync/v0.5.0/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsync/v0.5.0/v0.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [google.golang.org/genproto/googleapis/api](https://togithub.com/googleapis/go-genproto) | `995d672` -> `50ed04b` | [![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20231212172506-995d672761c0/?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgenproto%2fgoogleapis%2fapi/v0.0.0-20231212172506-995d672761c0/?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | digest | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>aws/aws-sdk-go (github.com/aws/aws-sdk-go)</summary> ### [`v1.49.16`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v14916-2024-01-05) [Compare Source](https://togithub.com/aws/aws-sdk-go/compare/v1.49.15...v1.49.16) \=== ##### Service Client Updates - `service/connect`: Updates service API - `service/kms`: Updates service documentation - Documentation updates for AWS Key Management Service (KMS). - `service/redshift-serverless`: Updates service documentation ##### SDK Bugs - The logging behavior in `aws/ec2metadata/token_provider.go` was updated: warnings about falling back to IMDSv1 are now logged only when LogLevel is set to `LogDebugWithDeprecated`. - This change prevents unnecessary warnings when LogLevel is set to suppress messages. ### [`v1.49.15`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v14915-2024-01-04) [Compare Source](https://togithub.com/aws/aws-sdk-go/compare/v1.49.14...v1.49.15) \=== ##### Service Client Updates - `service/config`: Updates service API and documentation - `service/docdb`: Updates service API and documentation - Adding PerformanceInsightsEnabled and PerformanceInsightsKMSKeyId fields to DescribeDBInstances Response. - `service/ecs`: Updates service API and documentation - This release adds support for managed instance draining which facilitates graceful termination of Amazon ECS instances. - `service/es`: Updates service API and documentation - This release adds support for new or existing Amazon OpenSearch domains to enable TLS 1.3 or TLS 1.2 with perfect forward secrecy cipher suites for domain endpoints. - `service/lightsail`: Updates service API and documentation - This release adds support to set up an HTTPS endpoint on an instance. - `service/opensearch`: Updates service API and documentation - `service/sagemaker`: Updates service API and documentation - Adding support for provisioned throughput mode for SageMaker Feature Groups - `service/servicecatalog`: Updates service API and documentation - Added Idempotency token support to Service Catalog AssociateServiceActionWithProvisioningArtifact, DisassociateServiceActionFromProvisioningArtifact, DeleteServiceAction API ### [`v1.49.14`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v14914-2024-01-03) [Compare Source](https://togithub.com/aws/aws-sdk-go/compare/v1.49.13...v1.49.14) \=== ##### Service Client Updates - `service/connect`: Updates service API and documentation - `service/mediaconvert`: Updates service API and documentation - This release includes video engine updates including HEVC improvements, support for ingesting VP9 encoded video in MP4 containers, and support for user-specified 3D LUTs. </details> <details> <summary>cerbos/cloud-api (github.com/cerbos/cloud-api)</summary> ### [`v0.1.14`](https://togithub.com/cerbos/cloud-api/compare/v0.1.13...v0.1.14) [Compare Source](https://togithub.com/cerbos/cloud-api/compare/v0.1.13...v0.1.14) </details> <details> <summary>grpc-ecosystem/grpc-gateway (github.com/grpc-ecosystem/grpc-gateway/v2)</summary> ### [`v2.19.0`](https://togithub.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.19.0) [Compare Source](https://togithub.com/grpc-ecosystem/grpc-gateway/compare/v2.18.1...v2.19.0) ##### What's Changed - fix: use req.Body instead of IOReaderFactory when possible by [@​leungster](https://togithub.com/leungster) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3727](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3727) - runtime: Add outgoing trailer matching by [@​adriansmares](https://togithub.com/adriansmares) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3725](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3725) - Add openapiv2\_opt support for passing values to go templates via cli by [@​500poundbear](https://togithub.com/500poundbear) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3764](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3764) - \[Bug [#​3829](https://togithub.com/grpc-ecosystem/grpc-gateway/issues/3829)] \[protoc-gen-openapiv2] consider openapiv2\_tag.name attribute when generating ope… by [@​omrikiei](https://togithub.com/omrikiei) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3830](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3830) - feat: partial message created as named definitions by [@​nkcr](https://togithub.com/nkcr) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3743](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3743) - Fix name tags in methods by [@​omrikiei](https://togithub.com/omrikiei) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3843](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3843) - Revert [`4c79b45`](https://togithub.com/grpc-ecosystem/grpc-gateway/commit/4c79b45386348459926176911cb6b35f6f53dcdc) by [@​johanbrandhorst](https://togithub.com/johanbrandhorst) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3856](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3856) ##### New Contributors - [@​leungster](https://togithub.com/leungster) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3727](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3727) - [@​adriansmares](https://togithub.com/adriansmares) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3725](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3725) - [@​500poundbear](https://togithub.com/500poundbear) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3764](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3764) - [@​omrikiei](https://togithub.com/omrikiei) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3830](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3830) - [@​nkcr](https://togithub.com/nkcr) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3743](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3743) **Full Changelog**: grpc-ecosystem/grpc-gateway@v2.18.1...v2.19.0 </details> <details> <summary>pterm/pterm (github.com/pterm/pterm)</summary> ### [`v0.12.74`](https://togithub.com/pterm/pterm/releases/tag/v0.12.74) [Compare Source](https://togithub.com/pterm/pterm/compare/v0.12.73...v0.12.74) <!-- Release notes generated using configuration in .github/release.yml at master --> #### What's Changed ##### Exciting New Features 🎉 - feat: automatically inject more `CallerOffset` in `pterm.NewSlogHandler` by [@​MarvinJWendt](https://togithub.com/MarvinJWendt) in [https://github.com/pterm/pterm/pull/609](https://togithub.com/pterm/pterm/pull/609) ##### Other Changes - examples: fixed `interactive_multiselect` examples by [@​MarvinJWendt](https://togithub.com/MarvinJWendt) in [https://github.com/pterm/pterm/pull/606](https://togithub.com/pterm/pterm/pull/606) - ci(examples): demo is now always at the top by [@​MarvinJWendt](https://togithub.com/MarvinJWendt) in [https://github.com/pterm/pterm/pull/607](https://togithub.com/pterm/pterm/pull/607) **Full Changelog**: pterm/pterm@v0.12.73...v0.12.74 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/cerbos/cerbos). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjEuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyMS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Signed-off-by: Charith Ellawala <[email protected]> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Charith Ellawala <[email protected]>
… v2.19.0 (#30353) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/grpc-ecosystem/grpc-gateway/v2](https://togithub.com/grpc-ecosystem/grpc-gateway) | `v2.18.1` -> `v2.19.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>grpc-ecosystem/grpc-gateway (github.com/grpc-ecosystem/grpc-gateway/v2)</summary> ### [`v2.19.0`](https://togithub.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.19.0) [Compare Source](https://togithub.com/grpc-ecosystem/grpc-gateway/compare/v2.18.1...v2.19.0) #### What's Changed - fix: use req.Body instead of IOReaderFactory when possible by [@​leungster](https://togithub.com/leungster) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3727](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3727) - runtime: Add outgoing trailer matching by [@​adriansmares](https://togithub.com/adriansmares) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3725](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3725) - Add openapiv2\_opt support for passing values to go templates via cli by [@​500poundbear](https://togithub.com/500poundbear) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3764](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3764) - \[Bug [#​3829](https://togithub.com/grpc-ecosystem/grpc-gateway/issues/3829)] \[protoc-gen-openapiv2] consider openapiv2\_tag.name attribute when generating ope… by [@​omrikiei](https://togithub.com/omrikiei) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3830](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3830) - feat: partial message created as named definitions by [@​nkcr](https://togithub.com/nkcr) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3743](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3743) - Fix name tags in methods by [@​omrikiei](https://togithub.com/omrikiei) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3843](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3843) - Revert [`4c79b45`](https://togithub.com/grpc-ecosystem/grpc-gateway/commit/4c79b45386348459926176911cb6b35f6f53dcdc) by [@​johanbrandhorst](https://togithub.com/johanbrandhorst) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3856](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3856) #### New Contributors - [@​leungster](https://togithub.com/leungster) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3727](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3727) - [@​adriansmares](https://togithub.com/adriansmares) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3725](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3725) - [@​500poundbear](https://togithub.com/500poundbear) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3764](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3764) - [@​omrikiei](https://togithub.com/omrikiei) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3830](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3830) - [@​nkcr](https://togithub.com/nkcr) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3743](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3743) **Full Changelog**: grpc-ecosystem/grpc-gateway@v2.18.1...v2.19.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [github.com/grpc-ecosystem/grpc-gateway/v2](https://togithub.com/grpc-ecosystem/grpc-gateway) | `v2.18.1` -> `v2.19.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [go](https://go.dev/) ([source](https://togithub.com/golang/go)) | `1.21.5` -> `1.21.6` | [![age](https://developer.mend.io/api/mc/badges/age/golang-version/go/1.21.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/golang-version/go/1.21.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/golang-version/go/1.21.5/1.21.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/golang-version/go/1.21.5/1.21.6?slim=true)](https://docs.renovatebot.com/merge-confidence/) | golang | patch | | [google.golang.org/protobuf](https://togithub.com/protocolbuffers/protobuf-go) | `v1.31.0` -> `v1.32.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fprotobuf/v1.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fprotobuf/v1.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fprotobuf/v1.31.0/v1.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fprotobuf/v1.31.0/v1.32.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | | All locks refreshed | [![age](https://developer.mend.io/api/mc/badges/age///?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption///?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility////?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence////?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | lockFileMaintenance | | [jekyll-feed](https://togithub.com/jekyll/jekyll-feed) | `0.15.1` -> `0.17.0` | [![age](https://developer.mend.io/api/mc/badges/age/rubygems/jekyll-feed/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/rubygems/jekyll-feed/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/rubygems/jekyll-feed/0.15.1/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/rubygems/jekyll-feed/0.15.1/0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | minor | --- ### Release Notes <details> <summary>grpc-ecosystem/grpc-gateway (github.com/grpc-ecosystem/grpc-gateway/v2)</summary> ### [`v2.19.0`](https://togithub.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.19.0) [Compare Source](https://togithub.com/grpc-ecosystem/grpc-gateway/compare/v2.18.1...v2.19.0) #### What's Changed - fix: use req.Body instead of IOReaderFactory when possible by [@​leungster](https://togithub.com/leungster) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3727](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3727) - runtime: Add outgoing trailer matching by [@​adriansmares](https://togithub.com/adriansmares) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3725](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3725) - Add openapiv2\_opt support for passing values to go templates via cli by [@​500poundbear](https://togithub.com/500poundbear) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3764](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3764) - \[Bug [#​3829](https://togithub.com/grpc-ecosystem/grpc-gateway/issues/3829)] \[protoc-gen-openapiv2] consider openapiv2\_tag.name attribute when generating ope… by [@​omrikiei](https://togithub.com/omrikiei) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3830](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3830) - feat: partial message created as named definitions by [@​nkcr](https://togithub.com/nkcr) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3743](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3743) - Fix name tags in methods by [@​omrikiei](https://togithub.com/omrikiei) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3843](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3843) - Revert [`4c79b45`](https://togithub.com/grpc-ecosystem/grpc-gateway/commit/4c79b45386348459926176911cb6b35f6f53dcdc) by [@​johanbrandhorst](https://togithub.com/johanbrandhorst) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3856](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3856) #### New Contributors - [@​leungster](https://togithub.com/leungster) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3727](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3727) - [@​adriansmares](https://togithub.com/adriansmares) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3725](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3725) - [@​500poundbear](https://togithub.com/500poundbear) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3764](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3764) - [@​omrikiei](https://togithub.com/omrikiei) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3830](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3830) - [@​nkcr](https://togithub.com/nkcr) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3743](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3743) **Full Changelog**: grpc-ecosystem/grpc-gateway@v2.18.1...v2.19.0 </details> <details> <summary>golang/go (go)</summary> ### [`v1.21.6`](https://togithub.com/golang/go/compare/go1.21.5...go1.21.6) </details> <details> <summary>protocolbuffers/protobuf-go (google.golang.org/protobuf)</summary> ### [`v1.32.0`](https://togithub.com/protocolbuffers/protobuf-go/releases/tag/v1.32.0) [Compare Source](https://togithub.com/protocolbuffers/protobuf-go/compare/v1.31.0...v1.32.0) **Full Changelog**: protocolbuffers/protobuf-go@v1.31.0...v1.32.0 This release contains commit protocolbuffers/protobuf-go@bfcd647, which fixes a denial of service vulnerability by preventing a stack overflow through a default maximum recursion limit. See [https://github.com/golang/protobuf/issues/1583](https://togithub.com/golang/protobuf/issues/1583) and [https://github.com/golang/protobuf/issues/1584](https://togithub.com/golang/protobuf/issues/1584) for details. </details> <details> <summary>jekyll/jekyll-feed (jekyll-feed)</summary> ### [`v0.17.0`](https://togithub.com/jekyll/jekyll-feed/blob/HEAD/History.markdown#0170--2022-10-14) [Compare Source](https://togithub.com/jekyll/jekyll-feed/compare/v0.16.0...v0.17.0) ##### Documentation - Update CI status badge ([#​363](https://togithub.com/jekyll/jekyll-feed/issues/363)) ##### Development Fixes - Add Ruby 3.1 to the CI matrix ([#​365](https://togithub.com/jekyll/jekyll-feed/issues/365)) ##### Minor Enhancements - Allow disabling of jekyll-feed while in development ([#​370](https://togithub.com/jekyll/jekyll-feed/issues/370)) ### [`v0.16.0`](https://togithub.com/jekyll/jekyll-feed/blob/HEAD/History.markdown#0160--2022-01-03) [Compare Source](https://togithub.com/jekyll/jekyll-feed/compare/v0.15.1...v0.16.0) ##### Minor Enhancements - Add support for `page.description` in front matter to become entry `<summary>` ([#​297](https://togithub.com/jekyll/jekyll-feed/issues/297)) ##### Bug Fixes - Fold private methods into the `:render` method as local variables ([#​327](https://togithub.com/jekyll/jekyll-feed/issues/327)) - Check `post.categories` instead of `post.category` ([#​357](https://togithub.com/jekyll/jekyll-feed/issues/357)) - Switched xml_escape for `<![CDATA[]]>` for post content ([#​332](https://togithub.com/jekyll/jekyll-feed/issues/332)) ##### Development Fixes - Add Ruby 3.0 to CI ([#​337](https://togithub.com/jekyll/jekyll-feed/issues/337)) - Lock RuboCop to v1.18.x ([#​348](https://togithub.com/jekyll/jekyll-feed/issues/348)) - Add workflow to release gem via GH Action ([#​355](https://togithub.com/jekyll/jekyll-feed/issues/355)) ##### Documentation - Use `.atom` extension in documented examples since we write an Atom feed ([#​359](https://togithub.com/jekyll/jekyll-feed/issues/359)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 6am on wednesday" in timezone Australia/Sydney, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/google/osv.dev). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIn0=-->
… v2.19.0 (open-telemetry#30353) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/grpc-ecosystem/grpc-gateway/v2](https://togithub.com/grpc-ecosystem/grpc-gateway) | `v2.18.1` -> `v2.19.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgrpc-ecosystem%2fgrpc-gateway%2fv2/v2.18.1/v2.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>grpc-ecosystem/grpc-gateway (github.com/grpc-ecosystem/grpc-gateway/v2)</summary> ### [`v2.19.0`](https://togithub.com/grpc-ecosystem/grpc-gateway/releases/tag/v2.19.0) [Compare Source](https://togithub.com/grpc-ecosystem/grpc-gateway/compare/v2.18.1...v2.19.0) #### What's Changed - fix: use req.Body instead of IOReaderFactory when possible by [@&open-telemetry#8203;leungster](https://togithub.com/leungster) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3727](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3727) - runtime: Add outgoing trailer matching by [@&open-telemetry#8203;adriansmares](https://togithub.com/adriansmares) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3725](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3725) - Add openapiv2\_opt support for passing values to go templates via cli by [@&open-telemetry#8203;500poundbear](https://togithub.com/500poundbear) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3764](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3764) - \[Bug [#&open-telemetry#8203;3829](https://togithub.com/grpc-ecosystem/grpc-gateway/issues/3829)] \[protoc-gen-openapiv2] consider openapiv2\_tag.name attribute when generating ope… by [@&open-telemetry#8203;omrikiei](https://togithub.com/omrikiei) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3830](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3830) - feat: partial message created as named definitions by [@&open-telemetry#8203;nkcr](https://togithub.com/nkcr) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3743](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3743) - Fix name tags in methods by [@&open-telemetry#8203;omrikiei](https://togithub.com/omrikiei) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3843](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3843) - Revert [`4c79b45`](https://togithub.com/grpc-ecosystem/grpc-gateway/commit/4c79b45386348459926176911cb6b35f6f53dcdc) by [@&open-telemetry#8203;johanbrandhorst](https://togithub.com/johanbrandhorst) in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3856](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3856) #### New Contributors - [@&open-telemetry#8203;leungster](https://togithub.com/leungster) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3727](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3727) - [@&open-telemetry#8203;adriansmares](https://togithub.com/adriansmares) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3725](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3725) - [@&open-telemetry#8203;500poundbear](https://togithub.com/500poundbear) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3764](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3764) - [@&open-telemetry#8203;omrikiei](https://togithub.com/omrikiei) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3830](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3830) - [@&open-telemetry#8203;nkcr](https://togithub.com/nkcr) made their first contribution in [https://github.com/grpc-ecosystem/grpc-gateway/pull/3743](https://togithub.com/grpc-ecosystem/grpc-gateway/pull/3743) **Full Changelog**: grpc-ecosystem/grpc-gateway@v2.18.1...v2.19.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on tuesday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/open-telemetry/opentelemetry-collector-contrib). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMjcuMCIsInVwZGF0ZWRJblZlciI6IjM3LjEyNy4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: opentelemetrybot <[email protected]>
I'm taking over work from #3717
References to other Issues or PRs
Fixes #3706
Brief description of what is fixed or changed
Useful for proto Messages that are used in a POST method for example where the properties of the proto message are split between path params and body params:
For downstream code generator, you want the body params to be wrapped inside a named swagger definitions object.
Other comments
The name definition uses the method FQN, which is made to be unique (It uses the same mechanism as for the message definitions). It will use the same naming strategy.
RESULT:
Before, with a proto like:
you would get a swagger like that
Now you get
Summary by CodeRabbit
New Features
Improvements
Bug Fixes
Documentation
Refactor
Chores