googleapis / googleapis/google-api-go-client

Better handling of raw bytes

Open
#346 3 comments 0 reactions 0 assignees View on GitHub
type: feature request
Dominant language
Go
Stars
4.5k
Forks
1.5k
Avg merge
1d 15h
Merged PRs (30d)
32

Description

Given this field in a discovery doc:

```
"AsymmetricDecryptRequest": {
"description": "Request message for KeyManagementService.AsymmetricDecrypt.",
"id": "AsymmetricDecryptRequest",
"properties": {
"ciphertext": {
"description": "Required. The data encrypted with the named CryptoKeyVersion's public\nkey using OAEP.",
"format": "byte",
"type": "string"
}
},
"type": "object"
},
```

This gets generated as:

```
type AsymmetricDecryptRequest struct {
// Ciphertext: Required. The data encrypted with the named
// CryptoKeyVersion's public
// key using OAEP.
Ciphertext string `json:"ciphertext,omitempty"`
```

The server accepts a base64-encoded string as the data, but we don't tell users that they need to encode it themselves.

Ideally, we'd just generate this as `[]byte`, which encoding/json actually encodes as a b64-encoded string.

Is this a worthwhile breaking change?

If not, we should at least generate some docs/example on base64-encoding the package?

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.