Fix a missing state check in http operations finish with error by returning a bool to indicate that state check passed.
Run block cleanup regardless of whether or not completion block is present.
Capture completion block directly in async block instead of relying on property which could be niled.