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/zav%40mac.com
> 
> This email sent to z...@mac.com
_______________________________________________

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