Previously retries in PubSub would only check the status code. Other
client libraries like the Java and Go implementations take a further
step and parse the error message in some cases to special-case some
errors. While I'd typically consider error message parsing a sin, some
ideals must be compromised for dealing with real world services.
This additionally reconnects StreamingPull connections if the stream
terminates without any error, which is unexpected from PubSub.
Previously retries in PubSub would only check the status code. Other client libraries like the Java and Go implementations take a further step and parse the error message in some cases to special-case some errors. While I'd typically consider error message parsing a sin, some ideals must be compromised for dealing with real world services.
This additionally reconnects StreamingPull connections if the stream terminates without any error, which is unexpected from PubSub.