On Feb 9, 2011, at 3:43 PM, David J. wrote: > Is the code available in the repo yet?
Not yet. > > > > On 2/9/11 6:37 PM, Jonathan Lundell wrote: >> >> On Feb 9, 2011, at 3:34 PM, David J. wrote: >>> So then we would use scheme='https' for secure and forget the secure flag? >> >> Right. It's a little more general, since 'secure' could also imply 'wss'. >> >>> >>> >>> >>> On 2/9/11 6:26 PM, Jonathan Lundell wrote: >>>> >>>> On Feb 9, 2011, at 2:54 PM, Jonathan Lundell wrote: >>>>> On Feb 9, 2011, at 2:24 PM, Anthony wrote: >>>>>> Do we want to handle websocket URLs as well (i.e., ws and wss schemes >>>>>> instead of http and https)? >>>>> >>>>> I don't know. Is there an RFC yet? >>>>> >>>>> I've sent Massimo a patch already, but I could redo it to directly >>>>> specify scheme= instead of secure=, and allow an arbitrary string. >>>>> >>>>> Now would be the time... >>>> >>>> OK, I made the change. scheme='wss' (for example) works. >>>> >>>> scheme=True uses the scheme from request.env >>>> >>>>> >>>>>> >>>>>> On Wednesday, February 9, 2011 5:02:38 PM UTC-5, Jonathan Lundell wrote: >>>>>> On Feb 9, 2011, at 1:24 PM, howesc wrote: >>>>>> > good, bad, or indifferent, because of varied testing and deployment >>>>>> > setups, and using multiple ports, i have the function below in my app. >>>>>> > note that i have database configuration for HTTPS scheme and port. >>>>>> > It's my hack not not run internal test and development servers on port >>>>>> > 443. :) >>>>>> Thanks. I'd forgotten about port; I'll add that as well. >>>>>> >>>>>> > >>>>>> > def full_url(scheme="http", >>>>>> > a=None, >>>>>> > c=None, >>>>>> > f=None, >>>>>> > r=None, >>>>>> > args=[], >>>>>> > vars={}, >>>>>> > anchor='', >>>>>> > path = None >>>>>> > ): >>>>>> > """ >>>>>> > Create a fully qualified URL. The URL will use the same host as >>>>>> > the >>>>>> > request was made from, but will use the specified scheme. Calls >>>>>> > C{gluon.html.URL()} to construct the relative path to the host. >>>>>> > >>>>>> > if <scheme>_port is set in the settings table, append the port to >>>>>> > the >>>>>> > domain of the created URL >>>>>> > >>>>>> > @param scheme: scheme to use for the fully-qualified URL. >>>>>> > (default to 'http') >>>>>> > @param a: application (default to current if r is given) >>>>>> > @param c: controller (default to current if r is given) >>>>>> > @param f: function (default to current if r is given) >>>>>> > @param r: request >>>>>> > @param args: any arguments (optional) >>>>>> > @param vars: any variables (optional) >>>>>> > @param anchor: anchorname, without # (optional) >>>>>> > @param path: the relative path to use. if used overrides >>>>>> > a,c,f,args, and >>>>>> > vars (optional) >>>>>> > """ >>>>>> > port = '' >>>>>> > if sitesettings.has_key(scheme+"_port") and >>>>>> > sitesettings[scheme+"_port"]: >>>>>> > port = ":" + sitesettings[scheme+"_port"] >>>>>> > if scheme == 'https' and sitesettings.has_key("https_scheme"): >>>>>> > scheme = sitesettings.https_scheme >>>>>> > url = scheme +'://' + \ >>>>>> > r.env.http_host.split(':')[0] + port >>>>>> > if path: >>>>>> > url = url + path >>>>>> > else: >>>>>> > url = url+URL(a=a, c=c, f=f, r=r, args=args, vars=vars, >>>>>> > anchor=anchor) >>>>>> > return url >>>>>> > >>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >> >> >