11#import " ServiceRemoteWordPressComREST.h"
22#import " WPKit-Swift.h"
33
4- static NSString * const ServiceRemoteWordPressComRESTApiVersionStringInvalid = @" invalid_api_version" ;
5- static NSString * const ServiceRemoteWordPressComRESTApiVersionString_1_0 = @" rest/v1" ;
6- static NSString * const ServiceRemoteWordPressComRESTApiVersionString_1_1 = @" rest/v1.1" ;
7- static NSString * const ServiceRemoteWordPressComRESTApiVersionString_1_2 = @" rest/v1.2" ;
8- static NSString * const ServiceRemoteWordPressComRESTApiVersionString_1_3 = @" rest/v1.3" ;
9- static NSString * const ServiceRemoteWordPressComRESTApiVersionString_2_0 = @" wpcom/v2" ;
10-
114@implementation ServiceRemoteWordPressComREST
125
136- (instancetype )initWithWordPressComRestApi : (WordPressComRestApi *)wordPressComRestApi {
@@ -22,13 +15,39 @@ - (instancetype)initWithWordPressComRestApi:(WordPressComRestApi *)wordPressComR
2215 return self;
2316}
2417
18+ #pragma mark - Request URL construction
19+
20+ - (NSString *)pathForEndpoint : (NSString *)resourceUrl
21+ withVersion : (WordPressComRESTAPIVersion)apiVersion
22+ {
23+ NSParameterAssert ([resourceUrl isKindOfClass: [NSString class ]]);
24+
25+ return [WordPressComRESTVersionedPathBuilder pathForEndpoint: resourceUrl
26+ withVersion: apiVersion];
27+ }
28+
29+ @end
30+
31+ static NSString * const ServiceRemoteWordPressComRESTApiVersionStringInvalid = @" invalid_api_version" ;
32+ static NSString * const ServiceRemoteWordPressComRESTApiVersionString_1_0 = @" rest/v1" ;
33+ static NSString * const ServiceRemoteWordPressComRESTApiVersionString_1_1 = @" rest/v1.1" ;
34+ static NSString * const ServiceRemoteWordPressComRESTApiVersionString_1_2 = @" rest/v1.2" ;
35+ static NSString * const ServiceRemoteWordPressComRESTApiVersionString_1_3 = @" rest/v1.3" ;
36+ static NSString * const ServiceRemoteWordPressComRESTApiVersionString_2_0 = @" wpcom/v2" ;
37+
38+ @implementation WordPressComRESTVersionedPathBuilder
2539
26- #pragma mark - API Version
40+ + (NSString *)pathForEndpoint : (NSString *)endpoint withVersion : (WordPressComRESTAPIVersion)apiVersion
41+ {
42+ NSString *apiVersionString = [self apiVersionStringWithEnumValue: apiVersion];
2743
28- - (NSString *)apiVersionStringWithEnumValue : (WordPressComRESTAPIVersion)apiVersion
44+ return [NSString stringWithFormat: @" %@ /%@ " , apiVersionString, endpoint];
45+ }
46+
47+ + (NSString *)apiVersionStringWithEnumValue : (WordPressComRESTAPIVersion)apiVersion
2948{
3049 NSString *result = nil ;
31-
50+
3251 switch (apiVersion) {
3352 case WordPressComRESTAPIVersion_1_0:
3453 result = ServiceRemoteWordPressComRESTApiVersionString_1_0;
@@ -37,7 +56,7 @@ - (NSString *)apiVersionStringWithEnumValue:(WordPressComRESTAPIVersion)apiVersi
3756 case WordPressComRESTAPIVersion_1_1:
3857 result = ServiceRemoteWordPressComRESTApiVersionString_1_1;
3958 break ;
40-
59+
4160 case WordPressComRESTAPIVersion_1_2:
4261 result = ServiceRemoteWordPressComRESTApiVersionString_1_2;
4362 break ;
@@ -55,20 +74,7 @@ - (NSString *)apiVersionStringWithEnumValue:(WordPressComRESTAPIVersion)apiVersi
5574 result = ServiceRemoteWordPressComRESTApiVersionStringInvalid;
5675 break ;
5776 }
58-
59- return result;
60- }
61-
62- #pragma mark - Request URL construction
6377
64- - (NSString *)pathForEndpoint : (NSString *)resourceUrl
65- withVersion : (WordPressComRESTAPIVersion)apiVersion
66- {
67- NSParameterAssert ([resourceUrl isKindOfClass: [NSString class ]]);
68-
69- NSString *apiVersionString = [self apiVersionStringWithEnumValue: apiVersion];
70-
71- return [NSString stringWithFormat: @" %@ /%@ " , apiVersionString, resourceUrl];
78+ return result;
7279}
73-
7480@end
0 commit comments