Alex, is there any reason you couldn’t have used one of these?

[self.sharedData.webServicesURL URLByAppendingPathComponent:@"login"]
[self.sharedData.webServicesURL URLByAppendingPathComponent:@"login" 
isDirectory:{YES|NO}]


> On Feb 22, 2019, at 9:40 AM, Alex Zavatone <z...@mac.com> wrote:
> 
> There are 2 problems here.
> 
> The description is non standard and misleading and the /api string is 
> stripped from the URL that it indicates it will use in that URL.  Look.
> 
> (lldb) po [[NSURL URLWithString:@"/login" 
> relativeToURL:self.sharedData.webServicesURL] absoluteURL]
> https://home-qa.mrcooper.com/login
> 
> (lldb) po [NSURL URLWithString:@"/login" 
> relativeToURL:self.sharedData.webServicesURL] 
> /login -- https://home-qa.mrcooper.com/api
> 
> See how in the top output that /api is stripped from the URL that it will use 
> while it is displayed in the output on the bottom?
> 
> Damn misleading.  
> 
> 
> 
> 
> 
> 
> Sent from my iPad
> 
>> On Feb 22, 2019, at 11:24 AM, Alex Zavatone <z...@mac.com> wrote:
>> 
>> Of course I should have said, “produces what appears to be an incorrect 
>> result.”
>> 
>> Have I tried it? No.  I have not because it is telling me that the url I 
>> tried to create is nothing like the URL I tried to create.
>> 
>> Spending some time looking at it this morning and testing against the 
>> working string, it is apparent that the /api gets stripped off the URL when 
>> using relativeToURL.  Look at this.
>> 
>> (lldb) po self.sharedData.webServices
>> home-qa.mrcooper.com/api
>> 
>> (lldb) po self.sharedData.webServicesURL
>> https://home-qa.mrcooper.com/api
>> 
>> (lldb) po [[NSURL URLWithString:[NSString stringWithFormat:@"%@%@%@", 
>> @"https://";, self.sharedData.webServices, @"/login"]] absoluteURL]
>> https://home-qa.mrcooper.com/api/login
>> 
>> (lldb) po [[NSURL URLWithString:@"/login" 
>> relativeToURL:self.sharedData.webServicesURL] absoluteURL]
>> https://home-qa.mrcooper.com/login
>> 
>> See how relativeToURL: strips off the /api text from the URL?
>> 
>> 
>> So strange why they thought it a good idea to output the description and 
>> debugDescription that way AND strip off part of the URL.
>> 
>> Argh.  Thanks for the second (and third) set of eyes.
>> Alex Zavatone
>> 
>> 
>> Sent from my iPad
>> 
>>> On Feb 22, 2019, at 10:48 AM, Jens Alfke <j...@mooseyard.com> wrote:
>>> 
>>> 
>>> 
>>>> On Feb 22, 2019, at 8:39 AM, Alex Zavatone <z...@mac.com> wrote:
>>>> 
>>>> self.loginURL = [NSURL URLWithString:@"/login" 
>>>> relativeToURL:self.sharedData.webServicesURL]; // // WHY does this not 
>>>> work? It does "/login -- https://qa-home.mrcooper.com/api";
>>> 
>>> Because NSURL’s .description property has a stupid way of printing a 
>>> relative URL.
>>> 
>>> The actual URL is correct, as you’ll see if you do something like `po 
>>> self.loginURL.absoluteString`. It should return ` 
>>> https://qa-home.mrcooper.com/login`.
>>> 
>>> Moral of the story: Always use .absoluteString to convert an NSURL to a 
>>> string, never .description or something that calls it implicitly.
>>> 
>>> —Jens

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to