Commit f1720a63 by Dima Bart

Refactor shipping rates to assert instead of return error.

parent 1fec5963
...@@ -498,23 +498,17 @@ NSString *const BUYClientCustomerAccessToken = @"X-Shopify-Customer-Access-Token ...@@ -498,23 +498,17 @@ NSString *const BUYClientCustomerAccessToken = @"X-Shopify-Customer-Access-Token
- (NSURLSessionDataTask *)getShippingRatesForCheckout:(BUYCheckout *)checkout completion:(BUYDataShippingRatesBlock)block - (NSURLSessionDataTask *)getShippingRatesForCheckout:(BUYCheckout *)checkout completion:(BUYDataShippingRatesBlock)block
{ {
NSURLSessionDataTask *task = nil; NSAssert([checkout hasToken], @"Failed to get completion status of checkout. Checkout must have a valid token associated with it.");
if ([checkout hasToken]) { NSURLComponents *components = [self URLComponentsForCheckoutsAppendingPath:@"shipping_rates" checkoutToken:checkout.token queryItems:@{ @"checkout" : @"" }];
NSURLComponents *components = [self URLComponentsForCheckoutsAppendingPath:@"shipping_rates" checkoutToken:checkout.token queryItems:@{ @"checkout" : @"" }]; return [self getRequestForURL:components.URL completionHandler:^(NSDictionary *json, NSURLResponse *response, NSError *error) {
task = [self getRequestForURL:components.URL completionHandler:^(NSDictionary *json, NSURLResponse *response, NSError *error) { NSArray *shippingRates = nil;
NSArray *shippingRates = nil; if (json && !error) {
if (json && !error) { shippingRates = [self.modelManager insertShippingRatesWithJSONArray:json[@"shipping_rates"]];
shippingRates = [self.modelManager insertShippingRatesWithJSONArray:json[@"shipping_rates"]]; }
}
NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode];
NSInteger statusCode = [(NSHTTPURLResponse *)response statusCode]; block(shippingRates, [BUYClient statusForStatusCode:statusCode error:error], error);
block(shippingRates, [BUYClient statusForStatusCode:statusCode error:error], error); }];
}];
}
else {
block(nil, BUYStatusUnknown, [NSError errorWithDomain:kShopifyError code:BUYShopifyError_InvalidCheckoutObject userInfo:nil]);
}
return task;
} }
#pragma mark - Payments #pragma mark - Payments
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment