google-apis-rs / generated

Container for all files that are automatically generated
6 stars 7 forks source link

Base64 encoding is `STD` for datastore transaction but google_api_bytes always uses `URL_SAFE` #3

Open bes opened 3 years ago

bes commented 3 years ago

google_api_bytes v 0.1.0 uses radix64:URL_SAFE as the standard Base64 decoder.

I am using the google-datastore1 library like so:

google-datastore1 = { git = "https://github.com/google-apis-rs/generated" }

And in this call:

let response: BeginTransactionResponse = builder.execute()?;

the transaction property of BeginTransactionResponse is actually radix64:STD.

Leading to the following error message from google_api_bytes: invalid base64 input

I'm pretty sure by changing use radix64::URL_SAFE as BASE64_CFG; to use radix64::STD as BASE64_CFG; I am breaking some of the other generated libraries though, so that is not a good solution.

If an expert could take a look at this, it would be appreciated.

Thanks.

mwilliammyers commented 3 years ago

Hello, thanks for the report!

I'm pretty sure by changing use radix64::URL_SAFE as BASE64_CFG; to use radix64::STD as BASE64_CFG; I am breaking some of the other generated libraries though, so that is not a good solution.

You are correct 🙂

It looks like we are not sure how to handle this issue for now https://github.com/google-apis-rs/generator/issues/22, although we have a less than ideal workaround.