hi,

today i was implementing some RSS feeds.

i did the standard

class ArticleFeed(Feed):
     link = "https://bla.com/feeds/articles";


and for some reason it did not work. it kept appending the link-field to 
the domain-name that was stored in the site object.

i checked the documentation, that said that the feed-framework checks if 
the link is a full url or just the path and acts depending on it.

some further digging found the culprit in django.contrib.syndication.feeds:

def add_domain(domain, url):
     if not url.startswith('http://'):
         url = u'http://%s%s' % (domain, url)
     return url

this of course does not work too well with https urls :-(
for my problem it was easy to fix it by adding an OR to the if clause 
(later i'll submit a ticket regarding it) (btw. is there any way to 
server rss from https using django, without patching django?)

but the general problem is imho that the django framework on many places 
just assumes that the url starts with "http://";. just a quick grep shows:

http://django.pastebin.com/740049
(i know that some of these might be false alarms)

so, how should we proceed from here? should all these places be fixed to 
also-support https? or to formulate differently, if patches will be 
submitted that simply add an or-https clause to these cases, will those 
be accepted?

or a different approach maybe?

for example, couldn't the site-framework's model also store the 
protocol? or just a boolean to be able to differentiate between 
http/https. what do you think about such idea?

gabor

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers
-~----------~----~----~----~------~----~------~--~---

Reply via email to