Files
flipper/iOS/FlipperKit/SKEnvironmentVariables.m
John Knox 74d0ecac1b Add FLIPPER_PORTS env var to iOS SDK
Summary:
Part 2 of changing flipper to use customizable ports: iOS SDK.
Still to go: JS app.

env var should be of the format:

`FLIPPER_PORTS=1111,2222` for insecure port: 1111 and secure port: 2222.

Reviewed By: danielbuechele

Differential Revision: D13800988

fbshipit-source-id: 3560ba850389964f4b784551b803c45c6524e6f0
2019-01-24 06:49:33 -08:00

31 lines
1.0 KiB
Objective-C

#ifdef FB_SONARKIT_ENABLED
#import "SKEnvironmentVariables.h"
static int const DEFAULT_INSECURE_PORT = 8089;
static int const DEFAULT_SECURE_PORT = 8088;
@implementation SKEnvironmentVariables
+ (int)getInsecurePort {
NSString *envVar = [self getFlipperPortsVariable];
return [self extractIntFromPropValue:envVar atIndex:0 withDefault:DEFAULT_INSECURE_PORT];
}
+ (int)getSecurePort {
NSString *envVar = [self getFlipperPortsVariable];
return [self extractIntFromPropValue:envVar atIndex:1 withDefault:DEFAULT_SECURE_PORT];
}
+ (int)extractIntFromPropValue:(NSString *)propValue atIndex:(int)index withDefault:(int)fallback {
NSArray<NSString *> *components = [propValue componentsSeparatedByString:@","];
NSString *component = [components objectAtIndex:index];
int envInt = [component intValue];
return envInt > 0 ? envInt : fallback;
}
+ (NSString *)getFlipperPortsVariable {
NSString *value = NSProcessInfo.processInfo.environment[@"FLIPPER_PORTS"];
return value;
}
@end
#endif