Files
firebase-ios-sdk/FirebaseInstallations/Source/Library/Errors/FIRInstallationsHTTPError.h
T
Maksym Malyhin 27384c0a2c FirebaseInstallations: CreateInstallation API request error handling (#4024)
* Unrecoverable errors: basic unit tests defined.

* Registration Error models introduced.

* Storage: storage version handling fix.

* Formatting.

* Get Installation: return registration error from previous attempt.

* Retry registration request on configuration change.

* Store unrecoverable registration error.

* FIRInstallations Swift API improvements.

* Add Swift integration tests

* Revert "Add Swift integration tests"

This reverts commit a8e06418be.

* Invalid config integration tests and fixes.

* Missing tests and cleanup.

* ./scripts/style.sh

* Log messages.

* More elaborative log message. Typo.

* Reorganize imports and umberella header to fix Swift compilation errors.

* Formatting.
2019-10-09 13:47:58 -04:00

45 lines
1.6 KiB
Objective-C

/*
* Copyright 2019 Google
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/** Represents an error caused by an unexpected API response. */
@interface FIRInstallationsHTTPError : NSError
@property(nonatomic, readonly) NSHTTPURLResponse *HTTPResponse;
@property(nonatomic, readonly, nonnull) NSData *data;
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithHTTPResponse:(NSHTTPURLResponse *)HTTPResponse data:(nullable NSData *)data;
@end
NS_ASSUME_NONNULL_END
/** Possible response HTTP codes for `CreateInstallation` API request. */
typedef NS_ENUM(NSInteger, FIRInstallationsRegistrationHTTPCode) {
FIRInstallationsRegistrationHTTPCodeSuccess = 201,
FIRInstallationsRegistrationHTTPCodeInvalidArgument = 400,
FIRInstallationsRegistrationHTTPCodeInvalidAPIKey = 401,
FIRInstallationsRegistrationHTTPCodeAPIKeyToProjectIDMismatch = 403,
FIRInstallationsRegistrationHTTPCodeProjectNotFound = 404,
FIRInstallationsRegistrationHTTPCodeTooManyRequests = 429,
FIRInstallationsRegistrationHTTPCodeServerInternalError = 500
};