2018-03-20 11:59:03 -07:00
|
|
|
// Copyright 2017 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>
|
|
|
|
|
|
2020-08-03 16:28:14 -07:00
|
|
|
#import "Functions/FirebaseFunctions/Public/FirebaseFunctions/FIRFunctions.h"
|
2018-03-20 11:59:03 -07:00
|
|
|
|
2018-12-06 13:30:08 -05:00
|
|
|
@protocol FIRAuthInterop;
|
2020-09-03 14:45:56 -04:00
|
|
|
@protocol FIRMessagingInterop;
|
2018-03-20 11:59:03 -07:00
|
|
|
@class FIRHTTPSCallableResult;
|
|
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
|
|
|
|
|
|
@interface FIRFunctions (Internal)
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Calls an http trigger endpoint.
|
|
|
|
|
* @param name The name of the http trigger.
|
|
|
|
|
* @param data Parameters to pass to the function. Can be anything encodable as JSON.
|
|
|
|
|
* @param completion The block to call when the request is complete.
|
|
|
|
|
*/
|
|
|
|
|
- (void)callFunction:(NSString *)name
|
|
|
|
|
withObject:(nullable id)data
|
2019-02-25 10:10:20 -08:00
|
|
|
timeout:(NSTimeInterval)timeout
|
2018-03-20 11:59:03 -07:00
|
|
|
completion:(void (^)(FIRHTTPSCallableResult *_Nullable result,
|
|
|
|
|
NSError *_Nullable error))completion;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Constructs the url for an http trigger. This is exposed only for testing.
|
|
|
|
|
* @param name The name of the endpoint.
|
|
|
|
|
*/
|
|
|
|
|
- (NSString *)URLWithName:(NSString *)name;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Sets the functions client to send requests to localhost instead of Firebase.
|
|
|
|
|
* For testing only.
|
|
|
|
|
*/
|
|
|
|
|
- (void)useLocalhost;
|
|
|
|
|
|
2018-12-06 13:30:08 -05:00
|
|
|
/**
|
|
|
|
|
* Internal initializer for the Cloud Functions client.
|
|
|
|
|
* @param projectID The project ID for the Firebase project.
|
|
|
|
|
* @param region The region for the http trigger, such as "us-central1".
|
|
|
|
|
* @param auth The auth provider to use (optional).
|
2020-09-03 14:45:56 -04:00
|
|
|
* @param messaging The messaging interop to use (optional).
|
2018-12-06 13:30:08 -05:00
|
|
|
*/
|
|
|
|
|
- (id)initWithProjectID:(NSString *)projectID
|
|
|
|
|
region:(NSString *)region
|
2020-09-03 14:45:56 -04:00
|
|
|
auth:(nullable id<FIRAuthInterop>)auth
|
|
|
|
|
messaging:(nullable id<FIRMessagingInterop>)messaging;
|
2018-12-06 13:30:08 -05:00
|
|
|
|
2018-03-20 11:59:03 -07:00
|
|
|
@end
|
|
|
|
|
|
|
|
|
|
NS_ASSUME_NONNULL_END
|