Part of canonical.launchpad.webapp.servers View In Hierarchy
Method | constructPageID | Add the web service named operation (if any) to the page ID. |
Method | getApplication | See zope.publisher.interfaces.IPublication . |
Method | getResource | Return the resource that can publish the object ob. |
Method | finishReadOnlyRequest | Commit the transaction so that created OAuthNonces are stored. |
Method | getPrincipal | See LaunchpadBrowserPublication . |
Inherited from LaunchpadBrowserPublication:
Method | __init__ | Undocumented |
Method | annotateTransaction | See zope.app.publication.zopepublication.ZopePublication . |
Method | getDefaultTraversal | Undocumented |
Method | beforeTraversal | Undocumented |
Method | maybeNotifyReadOnlyMode | Hook to notify about read-only mode. |
Method | maybeRestrictToTeam | Undocumented |
Method | getNonRestrictedURL | Returns the non-restricted version of the request URL. |
Method | callObject | See zope.publisher.interfaces.IPublication . |
Method | afterCall | See zope.publisher.interfaces.IPublication . |
Method | callTraversalHooks | We don't want to call _maybePlacefullyAuthenticate as does |
Method | afterTraversal | See zope.publisher.interfaces.IPublication. |
Method | handleException | Undocumented |
Method | beginErrorHandlingTransaction | Hook for when a new view is started to handle an exception. |
Method | endRequest | Undocumented |
Method | _maybePlacefullyAuthenticate | This should never be called because we've excised it in |
See https://dev.launchpad.net/Foundations/Webservice for more information about WebService page IDs.
zope.publisher.interfaces.IPublication
.
Always use the web service application to serve web service resources, no matter what application is normally used to serve the underlying objects.
This is done at the end of traversal. If the published object supports the ICollection, or IEntry interface we wrap it into the appropriate resource.
LaunchpadBrowserPublication
.
Web service requests are authenticated using OAuth, except for the one made using (presumably) JavaScript on the /api override path.