Skip to content
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

Fix name tags in methods #3843

Merged
merged 10 commits into from
Dec 29, 2023

Conversation

omrikiei
Copy link
Contributor

@omrikiei omrikiei commented Dec 21, 2023

This PR adds code that references the name attribute in the openapiv2 tag attribute.

References to other Issues or PRs
Fixes #3829 issue in the aspect of method tags

References to other Issues or PRs

continuation of PR 3830

Have you read the Contributing Guidelines? yes

Brief description of what is fixed or changed

when generating method documentation, use the service name tag instead of the service name if possible

Summary by CodeRabbit

  • New Features

    • Enhanced service configuration and identification with the addition of a name field.
  • Refactor

    • Updated API client naming conventions for clarity.
  • Bug Fixes

    • Improved error handling in the OpenAPI generation process.
  • Documentation

    • Adjusted code documentation to reflect changes in API and service definitions.

Copy link

coderabbitai bot commented Dec 21, 2023

Walkthrough

The recent updates focus on ensuring that custom names specified via the openapiv2_tag.name annotation are correctly reflected in the generated Swagger documentation. This involves changes in the Go client code to align with the updated service definitions and modifications to the OpenAPI v2 generation templates to respect the name attribute, addressing a bug where previously the service's name was not being overridden as expected in the Swagger output.

Changes

File Path Change Summary
.../clients/abe/client.go Modified type and assignment of ABitOfEverythingApi
.../proto/examplepb/a_bit_of_everything.proto Added name field to ABitOfEverythingService message
.../genopenapi/template.go Updated tag name handling and error checking in functions
.../genopenapi/template_test.go Modified tag descriptions and added new tag in test function
.../clients/abe/BUILD.bazel Added new source file "api_a_bit_of_everything.go"

Assessment against linked issues

Objective Addressed Explanation
Override service name in Swagger.json (#3829)

Poem

🐇 In the code where names align,
🌟 A tag's wish, now does shine.
Swagger docs, with names so true,
Reflecting changes, through and through. 📜✨

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 your favorite social media?

Share

Tips

Chat with CodeRabbit Bot (@coderabbitai)

  • You can directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
  • You can tag CodeRabbit on specific lines of code or entire files in the PR by tagging @coderabbitai in a comment. Examples:
    • @coderabbitai generate unit tests for this file
    • @coderabbitai modularize this function
  • You can tag @coderabbitai in a PR comment and ask questions about the PR and the codebase. Use quoted replies to pass the context for follow-up questions. Examples:
    • @coderabbitai gather interesting statistics about this repository and render them in a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai generate unit tests for the src/utils.ts file.

CodeRabbit Commands (invoked as PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai help to get help.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • The JSON schema for the configuration file is available here.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

Copy link

@coderabbitai coderabbitai bot left a 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: 3

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 14214c1 and 884cb0c.
Files ignored due to filter (3)
  • examples/internal/clients/abe/api/swagger.yaml
  • examples/internal/proto/examplepb/a_bit_of_everything.pb.go
  • examples/internal/proto/examplepb/a_bit_of_everything.swagger.json
Files selected for processing (3)
  • examples/internal/clients/abe/client.go (2 hunks)
  • examples/internal/proto/examplepb/a_bit_of_everything.proto (1 hunks)
  • protoc-gen-openapiv2/internal/genopenapi/template.go (2 hunks)
Additional comments: 3
examples/internal/clients/abe/client.go (1)
  • 74-74: The assignment of ABitOfEverythingApi within NewAPIClient has been updated to match the new type name. Confirm that the initialization of this field is consistent with the new type across all instances where NewAPIClient is called.
Verification successful

The script output confirms that within the NewAPIClient function in abe/client.go, the ABitOfEverythingApi is initialized as (*ABitOfEverythingApiService)(&c.common), which is consistent with the type change described in the PR and the AI-generated summary. This indicates that the initialization of ABitOfEverythingApi is correct with respect to the new type name.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Search for the NewAPIClient function to ensure the field is correctly initialized.
rg --type go 'NewAPIClient'

Length of output: 1730



Script:

#!/bin/bash
# Extract the implementation of NewAPIClient from abe/client.go to verify the initialization of ABitOfEverythingApi.
rg --type go -A 10 'func NewAPIClient\(cfg \*Configuration\) \*APIClient {' examples/internal/clients/abe/client.go

Length of output: 289



Script:

#!/bin/bash
# Correct the regex pattern and extract the implementation of NewAPIClient from abe/client.go.
rg --type go -A 10 'func NewAPIClient\(cfg \*Configuration\) \*APIClient' examples/internal/clients/abe/client.go

Length of output: 373

examples/internal/proto/examplepb/a_bit_of_everything.proto (1)
  • 498-498: The name field has been added to the openapiv2_tag option with the value "ABitOfEverything". This change is intended to ensure that the name attribute is used when generating documentation. Confirm that the new name field is reflected in the generated swagger.json and other relevant documentation artifacts.
Verification successful

The verification scripts have provided the following information:

  • The swagger.json file contains the "name": "ABitOfEverything" entry, which confirms that the name field has been updated in the Swagger documentation as intended by the pull request.
  • References to ABitOfEverythingService are still present in the markdown documentation files.

Given this information, the change to the openapiv2_tag option with the value "ABitOfEverything" has been successfully reflected in the swagger.json. However, the presence of ABitOfEverythingService in the markdown files suggests that there may be parts of the documentation that have not been updated to reflect the new name field. This could be intentional, as the service name itself has not changed, only the name used in the Swagger documentation.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify that the swagger.json file has been updated.
rg --type json '"name": "ABitOfEverything"' ./path/to/swagger.json
# Check for references to the old service name in documentation.
rg 'ABitOfEverythingService' ./path/to/documentation

Length of output: 248



Script:

#!/bin/bash
# Find the swagger.json file in the repository and check if the name "ABitOfEverything" is present.
fd swagger.json --exec rg '"name": "ABitOfEverything"'

# Find any documentation files in the repository and check for references to ABitOfEverythingService.
fd '\.md$' --exec rg 'ABitOfEverythingService'

Length of output: 171

protoc-gen-openapiv2/internal/genopenapi/template.go (1)
  • 1491-1493: The logic to set the tag name based on opts.GetName() is correct and aligns with the PR's objective to use the name attribute within the openapiv2 tag for documentation generation. This change ensures that the specified tag name is used if provided.

Comment on lines 1485 to 1489
opts, err := getServiceOpenAPIOption(reg, svc)
if err != nil {
grpclog.Error(err)
return err
}
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The error handling added to getServiceOpenAPIOption is a good practice to catch potential issues during the retrieval of service options. However, it's important to ensure that the error is handled appropriately and not just logged. Consider if there should be a return or other error handling mechanism following the logging.

examples/internal/clients/abe/client.go Show resolved Hide resolved
Copy link

@coderabbitai coderabbitai bot left a 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: 5

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between 884cb0c and ba1aff8.
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 (5)
  • examples/internal/clients/abe/api_a_bit_of_everything.go (1 hunks)
  • examples/internal/clients/abe/api_a_bit_of_everything_service.go (7 hunks)
  • examples/internal/clients/abe/client.go (2 hunks)
  • protoc-gen-openapiv2/internal/genopenapi/template.go (3 hunks)
  • protoc-gen-openapiv2/internal/genopenapi/template_test.go (2 hunks)
Files not summarized due to errors (1)
  • examples/internal/clients/abe/api_a_bit_of_everything_service.go: Error: Message exceeds token limit
Files skipped from review as they are similar to previous changes (2)
  • examples/internal/clients/abe/client.go
  • protoc-gen-openapiv2/internal/genopenapi/template.go
Additional comments: 9
examples/internal/clients/abe/api_a_bit_of_everything.go (3)
  • 28-28: The type ABitOfEverythingApiService is an alias for service. Ensure that the service type is correctly defined elsewhere in the codebase and that this alias is necessary and used consistently.

  • 572-719: The method ABitOfEverythingServiceOverwriteRequestContentType sets a fixed content type for the request. Verify that this content type is indeed required and that it does not need to be dynamically determined based on the request body.

  • 728-873: The method ABitOfEverythingServiceOverwriteResponseContentType sets the Accept header to application/text, which is non-standard. Confirm that the server supports this content type and that it is intentional to use it instead of the more common text/plain.

examples/internal/clients/abe/api_a_bit_of_everything_service.go (4)
  • 4427-4427: Ensure that newErr.error is properly declared and handled elsewhere in the code, as it's not visible in the current hunk. If newErr is not a known type with an error field, this could be a bug.

  • 4505-4505: The function signature for ABitOfEverythingServiceLookup is clear and concise. Ensure that the uuid parameter is validated elsewhere in the code to prevent potential security issues.

  • 4532-4532: The Accept header is being set correctly. Ensure that the content types listed are supported by the server and client.

  • 4583-4583: Similar to the previous comment on Hunk 4, verify that newErr.error is properly declared and handled elsewhere in the code.

protoc-gen-openapiv2/internal/genopenapi/template_test.go (2)
  • 6347-6347: The Description for "ExampleService" has been changed to an empty string. Ensure this is intentional and consistent with the desired documentation output.

  • 6358-6360: The addition of the "service tag" with the description "ExampleService!" appears to align with the PR's objective to use the name attribute within the openapiv2 tag. Confirm that this new tag is used correctly in the context of the test and reflects the intended behavior in the documentation generation.

Comment on lines +37 to +183
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
}

localVarHttpResponse, err := a.client.callAPI(r)
if err != nil || localVarHttpResponse == nil {
return localVarReturnValue, localVarHttpResponse, err
}

localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
localVarHttpResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHttpResponse, err
}

if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err == nil {
return localVarReturnValue, localVarHttpResponse, err
}
}

if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
body: localVarBody,
error: localVarHttpResponse.Status,
}

if localVarHttpResponse.StatusCode == 200 {
var v interface{}
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 403 {
var v interface{}
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 404 {
var v string
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 418 {
var v ExamplepbNumericEnum
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 500 {
var v ExamplepbErrorResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 0 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

return localVarReturnValue, localVarHttpResponse, newErr
}

return localVarReturnValue, localVarHttpResponse, nil
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The method ABitOfEverythingServiceDelete seems to handle HTTP response codes manually. Consider using a more structured approach to handle different HTTP status codes and their corresponding business logic.

Comment on lines +292 to +562
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
}

localVarHttpResponse, err := a.client.callAPI(r)
if err != nil || localVarHttpResponse == nil {
return localVarReturnValue, localVarHttpResponse, err
}

localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body)
localVarHttpResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHttpResponse, err
}

if localVarHttpResponse.StatusCode < 300 {
// If we succeed, return the data, otherwise pass on to decode error.
err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err == nil {
return localVarReturnValue, localVarHttpResponse, err
}
}

if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
body: localVarBody,
error: localVarHttpResponse.Status,
}

if localVarHttpResponse.StatusCode == 200 {
var v interface{}
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 403 {
var v interface{}
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 404 {
var v string
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 418 {
var v ExamplepbNumericEnum
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 500 {
var v ExamplepbErrorResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 0 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

return localVarReturnValue, localVarHttpResponse, newErr
}

return localVarReturnValue, localVarHttpResponse, nil
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The method ABitOfEverythingServiceGetQuery has a large number of optional parameters. Consider refactoring to reduce complexity and improve maintainability, possibly by grouping related parameters into structs or using a builder pattern.

localVarFileBytes []byte
localVarReturnValue ExamplepbABitOfEverything
)
func (a *ABitOfEverythingServiceApiService) ABitOfEverythingServiceGetRepeatedQuery(ctx context.Context, pathRepeatedFloatValue []float32, pathRepeatedDoubleValue []float64, pathRepeatedInt64Value []string, pathRepeatedUint64Value []string, pathRepeatedInt32Value []int32, pathRepeatedFixed64Value []string, pathRepeatedFixed32Value []int64, pathRepeatedBoolValue []bool, pathRepeatedStringValue []string, pathRepeatedBytesValue []string, pathRepeatedUint32Value []int64, pathRepeatedEnumValue []string, pathRepeatedSfixed32Value []int32, pathRepeatedSfixed64Value []string, pathRepeatedSint32Value []int32, pathRepeatedSint64Value []string) (ExamplepbABitOfEverythingRepeated, *http.Response, error) {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The function signature has been updated to include a large number of parameters, which could indicate a complex interface that may be difficult to maintain. Consider refactoring to pass a structured object if these parameters are related.

Comment on lines +4296 to +4312
localVarPath := a.client.cfg.BasePath + "/v1/example/a_bit_of_everything_repeated/{pathRepeatedFloatValue}/{pathRepeatedDoubleValue}/{pathRepeatedInt64Value}/{pathRepeatedUint64Value}/{pathRepeatedInt32Value}/{pathRepeatedFixed64Value}/{pathRepeatedFixed32Value}/{pathRepeatedBoolValue}/{pathRepeatedStringValue}/{pathRepeatedBytesValue}/{pathRepeatedUint32Value}/{pathRepeatedEnumValue}/{pathRepeatedSfixed32Value}/{pathRepeatedSfixed64Value}/{pathRepeatedSint32Value}/{pathRepeatedSint64Value}"
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedFloatValue"+"}", fmt.Sprintf("%v", pathRepeatedFloatValue), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedDoubleValue"+"}", fmt.Sprintf("%v", pathRepeatedDoubleValue), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedInt64Value"+"}", fmt.Sprintf("%v", pathRepeatedInt64Value), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedUint64Value"+"}", fmt.Sprintf("%v", pathRepeatedUint64Value), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedInt32Value"+"}", fmt.Sprintf("%v", pathRepeatedInt32Value), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedFixed64Value"+"}", fmt.Sprintf("%v", pathRepeatedFixed64Value), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedFixed32Value"+"}", fmt.Sprintf("%v", pathRepeatedFixed32Value), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedBoolValue"+"}", fmt.Sprintf("%v", pathRepeatedBoolValue), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedStringValue"+"}", fmt.Sprintf("%v", pathRepeatedStringValue), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedBytesValue"+"}", fmt.Sprintf("%v", pathRepeatedBytesValue), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedUint32Value"+"}", fmt.Sprintf("%v", pathRepeatedUint32Value), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedEnumValue"+"}", fmt.Sprintf("%v", pathRepeatedEnumValue), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedSfixed32Value"+"}", fmt.Sprintf("%v", pathRepeatedSfixed32Value), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedSfixed64Value"+"}", fmt.Sprintf("%v", pathRepeatedSfixed64Value), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedSint32Value"+"}", fmt.Sprintf("%v", pathRepeatedSint32Value), -1)
localVarPath = strings.Replace(localVarPath, "{"+"pathRepeatedSint64Value"+"}", fmt.Sprintf("%v", pathRepeatedSint64Value), -1)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using multiple strings.Replace calls in a row can be inefficient. Consider using a more efficient method for URL construction, such as a strings.Builder or URL templating.

Comment on lines +4317 to +4363

if localVarHttpResponse.StatusCode >= 300 {
newErr := GenericSwaggerError{
body: localVarBody,
error: localVarHttpResponse.Status,
}

if localVarHttpResponse.StatusCode == 200 {
var v ExamplepbABitOfEverything
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 403 {
var v interface{}
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 404 {
var v string
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 418 {
var v ExamplepbNumericEnum
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 500 {
var v ExamplepbErrorResponse
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

if localVarHttpResponse.StatusCode == 0 {
var v RpcStatus
err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type"));
if err != nil {
newErr.error = err.Error()
return localVarReturnValue, localVarHttpResponse, newErr
}
newErr.model = v
return localVarReturnValue, localVarHttpResponse, newErr
}

return localVarReturnValue, localVarHttpResponse, newErr
if len(pathRepeatedBoolValue) < 1 {
return localVarReturnValue, nil, reportError("pathRepeatedBoolValue must have at least 1 elements")
}
if len(pathRepeatedStringValue) < 1 {
return localVarReturnValue, nil, reportError("pathRepeatedStringValue must have at least 1 elements")
}
if len(pathRepeatedBytesValue) < 1 {
return localVarReturnValue, nil, reportError("pathRepeatedBytesValue must have at least 1 elements")
}
if len(pathRepeatedUint32Value) < 1 {
return localVarReturnValue, nil, reportError("pathRepeatedUint32Value must have at least 1 elements")
}
if len(pathRepeatedEnumValue) < 1 {
return localVarReturnValue, nil, reportError("pathRepeatedEnumValue must have at least 1 elements")
}
if len(pathRepeatedSfixed32Value) < 1 {
return localVarReturnValue, nil, reportError("pathRepeatedSfixed32Value must have at least 1 elements")
}
if len(pathRepeatedSfixed64Value) < 1 {
return localVarReturnValue, nil, reportError("pathRepeatedSfixed64Value must have at least 1 elements")
}
if len(pathRepeatedSint32Value) < 1 {
return localVarReturnValue, nil, reportError("pathRepeatedSint32Value must have at least 1 elements")
}
if len(pathRepeatedSint64Value) < 1 {
return localVarReturnValue, nil, reportError("pathRepeatedSint64Value must have at least 1 elements")
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The validation checks for the presence of at least one element in each slice parameter are repeated and verbose. Consider creating a helper function to DRY (Don't Repeat Yourself) up this code.

Copy link
Collaborator

@johanbrandhorst johanbrandhorst left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks reasonable to me

@johanbrandhorst
Copy link
Collaborator

Looks like we got some test failures, if we can get this in we can get it into the next release

Copy link

@coderabbitai coderabbitai bot left a 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

Commits Files that changed from the base of the PR and between ba1aff8 and 449d66e.
Files selected for processing (1)
  • examples/internal/clients/abe/BUILD.bazel (1 hunks)
Files skipped from review due to trivial changes (1)
  • examples/internal/clients/abe/BUILD.bazel

Copy link

@coderabbitai coderabbitai bot left a 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

Commits Files that changed from the base of the PR and between 449d66e and 4294e5a.
Files selected for processing (1)
  • protoc-gen-openapiv2/internal/genopenapi/template_test.go (1 hunks)
Files skipped from review due to trivial changes (1)
  • protoc-gen-openapiv2/internal/genopenapi/template_test.go

@omrikiei
Copy link
Contributor Author

@johanbrandhorst got around to doing it earlier today

@johanbrandhorst johanbrandhorst merged commit 19f5377 into grpc-ecosystem:main Dec 29, 2023
17 checks passed
charithe referenced this pull request in cerbos/cerbos Jan 8, 2024
[![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
[@&#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
[@&#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 [@&#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
[#&#8203;3829](https://togithub.com/grpc-ecosystem/grpc-gateway/issues/3829)]
\[protoc-gen-openapiv2] consider openapiv2\_tag.name attribute when
generating ope… by [@&#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
[@&#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
[@&#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 [@&#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

- [@&#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)
- [@&#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)
- [@&#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)
- [@&#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)
- [@&#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>

<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
[@&#8203;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
[@&#8203;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
[@&#8203;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]>
mx-psi referenced this pull request in open-telemetry/opentelemetry-collector-contrib Jan 9, 2024
… 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
[@&#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
[@&#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 [@&#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
[#&#8203;3829](https://togithub.com/grpc-ecosystem/grpc-gateway/issues/3829)]
\[protoc-gen-openapiv2] consider openapiv2\_tag.name attribute when
generating ope… by [@&#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
[@&#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
[@&#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 [@&#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

- [@&#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)
- [@&#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)
- [@&#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)
- [@&#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)
- [@&#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]>
michaelkedar referenced this pull request in google/osv.dev Jan 9, 2024
[![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
[@&#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
[@&#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 [@&#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
[#&#8203;3829](https://togithub.com/grpc-ecosystem/grpc-gateway/issues/3829)]
\[protoc-gen-openapiv2] consider openapiv2\_tag.name attribute when
generating ope… by [@&#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
[@&#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
[@&#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 [@&#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

- [@&#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)
- [@&#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)
- [@&#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)
- [@&#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)
- [@&#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>

<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
([#&#8203;363](https://togithub.com/jekyll/jekyll-feed/issues/363))

##### Development Fixes

- Add Ruby 3.1 to the CI matrix
([#&#8203;365](https://togithub.com/jekyll/jekyll-feed/issues/365))

##### Minor Enhancements

- Allow disabling of jekyll-feed while in development
([#&#8203;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>`
([#&#8203;297](https://togithub.com/jekyll/jekyll-feed/issues/297))

##### Bug Fixes

- Fold private methods into the `:render` method as local variables
([#&#8203;327](https://togithub.com/jekyll/jekyll-feed/issues/327))
- Check `post.categories` instead of `post.category`
([#&#8203;357](https://togithub.com/jekyll/jekyll-feed/issues/357))
- Switched xml_escape for `<![CDATA[]]>` for post content
([#&#8203;332](https://togithub.com/jekyll/jekyll-feed/issues/332))

##### Development Fixes

- Add Ruby 3.0 to CI
([#&#8203;337](https://togithub.com/jekyll/jekyll-feed/issues/337))
- Lock RuboCop to v1.18.x
([#&#8203;348](https://togithub.com/jekyll/jekyll-feed/issues/348))
- Add workflow to release gem via GH Action
([#&#8203;355](https://togithub.com/jekyll/jekyll-feed/issues/355))

##### Documentation

- Use `.atom` extension in documented examples since we write an Atom
feed ([#&#8203;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=-->
cparkins referenced this pull request in AmadeusITGroup/opentelemetry-collector-contrib Jan 10, 2024
… 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

openapiv2_tag.name does not work
2 participants