commit 9111b70702d869a816ea9b1277ccaf3bc461ff5b Author: Isis Lovecruft isis@torproject.org Date: Sun Jan 12 04:50:14 2014 +0000
Change renderAnswer() to take bridge lines, not Bridge classes.
Otherwise, we'd also have to pass the `transport`, and `addressClass` parameters to renderAnswer(). --- lib/bridgedb/HTTPServer.py | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-)
diff --git a/lib/bridgedb/HTTPServer.py b/lib/bridgedb/HTTPServer.py index fc637a4..51387b0 100644 --- a/lib/bridgedb/HTTPServer.py +++ b/lib/bridgedb/HTTPServer.py @@ -228,7 +228,7 @@ class WebResource(twisted.web.resource.Resource): % (Util.logSafely(ip), request.args))
rules = [] - bridges = None + bridgeLines = None
if ip: if ipv6: @@ -252,12 +252,17 @@ class WebResource(twisted.web.resource.Resource): self.nBridgesToGive, countryCode, bridgeFilterRules=rules) + bridgeLines = "".join(" %s\n" % b.getConfigLine( + includeFingerprint=self.includeFingerprints, + addressClass=addressClass, + transport=transport, + request=bridgedb.Dist.uniformMap(ip) + ) for b in bridges)
- answer = self.renderAnswer(request, ip, bridges, rtl, format) + answer = self.renderAnswer(request, bridgeLines, rtl, format) return answer
- def renderAnswer(self, request, ip=None, bridges=None, - rtl=False, format=None): + def renderAnswer(self, request, bridgeLines=None, rtl=False, format=None): """Generate a response for a client which includes **bridges**.
The generated response can be plaintext or HTML. @@ -265,10 +270,9 @@ class WebResource(twisted.web.resource.Resource): :type request: :api:`twisted.web.http.Request` :param request: A ``Request`` object containing the HTTP method, full URI, and any URL/POST arguments and headers present. - :type ip: str or None - :param ip: The IP address of the client we're responding to. - :type bridges: list or None - :param bridges: A list of :class:`~bridgedb.Bridges.Bridge`s. + :type bridgeLines: list or None + :param bridgeLines: A list of strings used to configure a Tor client + to use a bridge. :param bool rtl: If ``True``, the language used for the response to the client should be rendered right-to-left. :type format: str or None @@ -279,22 +283,12 @@ class WebResource(twisted.web.resource.Resource): :rtype: str :returns: A plaintext or HTML response to serve. """ - answer = None - - if bridges and ip: - answer = "".join(" %s\n" % b.getConfigLine( - includeFingerprint=self.includeFingerprints, - addressClass=addressClass, - transport=transport, - request=bridgedb.Dist.uniformMap(ip) - ) for b in bridges) - if format == 'plain': request.setHeader("Content-Type", "text/plain") return answer else: request.setHeader("Content-Type", "text/html; charset=utf-8") - return lookup.get_template('bridges.html').render(answer=answer, + return lookup.get_template('bridges.html').render(answer=bridgeLines, rtl=rtl)
class WebRoot(twisted.web.resource.Resource):
tor-commits@lists.torproject.org