Coder Social home page Coder Social logo

Comments (3)

GoogleCodeExporter avatar GoogleCodeExporter commented on August 28, 2024
This issue is closely related to the insistence of the spec right now to have 
the
subscriber use the <link rel="self"...> URL as the one for actual subscription 
(see
http://pubsubhubbub.googlecode.com/svn/trunk/pubsubhubbub-core-0.2.html#discover
y).
In practice, subscribers aren't going to do this properly. We need something 
better.

I coded up a prototype to get around this limitation. Essentially, the Hub keeps
track of a mapping from topic URL to feed ID, and then feed ID to topic URLs
(plural!). At subscribe time, we derive the feed ID (if the topic hasn't been 
seen
before) and save it in association with the topic URL. At publish time, we 
figure out
the corresponding feed ID is, then use the reverse index to find all aliases 
affected
by the published ping.

For RSS we just use the channel link, because there's no feed ID.

Original comment by bslatkin on 3 Sep 2009 at 8:50

from pubsubhubbub.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 28, 2024
I believe this has been fixed by r275. I'll be rolling this out to production 
and
updating all KnownFeed instances as soon as I finish more system testing.

Original comment by bslatkin on 21 Sep 2009 at 10:19

  • Changed state: Fixed

from pubsubhubbub.

GoogleCodeExporter avatar GoogleCodeExporter commented on August 28, 2024
Note that the silliness from the spec we want to avoid is:

"Per the Atom spec, the //atom:feed/link[@rel="self"] element MUST indicate the 
topic
URL for the original event stream. Subscribers MUST use the self link when 
requesting
a subscription from the hub. Subscribers MUST NOT use the original URL from 
before
following HTTP redirects to fetch the feed. This is crucial for subscribers to 
detect
feed moves.

Hubs MUST use the same URL for both the publishing and subscribing interfaces, 
which
is why only a single atom:link element is required to declare a hub. Publishers
SHOULD use HTTPS (Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, 
L.,
Leach, P., and T. Berners-Lee, “Hypertext Transfer Protocol -- HTTP/1.1,” .)
[RFC2616] in their hubs' discovery URLs. However, subscribers that do not 
support
HTTPS (Rescorla, E., “HTTP Over TLS,” May 2000.) [RFC2818] MAY try to 
fallback to
HTTP (Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, 
P., and
T. Berners-Lee, “Hypertext Transfer Protocol -- HTTP/1.1,” .) [RFC2616], 
which MAY
work depending on the hub's policy. "

Original comment by bslatkin on 21 Sep 2009 at 10:30

from pubsubhubbub.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.