Beispiel #1
0
    def get_key(self, request):
        if request.token:
            return '%s&%s' % \
                (quote(request.consumer.secret),
                quote(request.token.secret))

        return '%s&' % quote(request.consumer.secret)
Beispiel #2
0
 def testEncoding(self):
     params = (
         (u"abcABC123", u"abcABC123"),
         (u"-._~", u"-._~"),
         (u"%", u"%25"),
         (u"+", u"%2B"),
         (u"&=*", u"%26%3D%2A"),
         (unichr(0x000A), u"%0A"),
         (unichr(0x0020), u"%20"),
         (unichr(0x007F), u"%7F"),
         (unichr(0x0080), u"%C2%80"),
         (unichr(0x3001), u"%E3%80%81"),
     )
     for p in params:
         self.assertEqual(quote(p[0]), p[1])
         self.assertEqual(unquote(quote(p[0])), p[1])
Beispiel #3
0
    def normalized_params(self):
        key_values = []
        if self.has_oauth_header():
            for k, v in self.OAUTH.items():
                if k != "signature":
                    key_values.append((OAUTH_PREFIX + k, v))

        if self.request.POST and self.request.META["CONTENT_TYPE"] == "application/x-www-form-urlencoded":

            dcts = (self.request.POST, self.request.GET)
        else:
            dcts = (self.request.GET,)
        for dct in dcts:
            for k in dct:
                if k != OAUTH_PREFIX + "signature":
                    for value in dct.getlist(k):
                        key_values.append((k, value))
        key_values.sort()

        return u"&".join(u"%s=%s" % (quote(unicode(k)), quote(unicode(v))) for k, v in key_values)
Beispiel #4
0
 def signature_base_string(self):
     return u"%s&%s&%s" % (self.request.method, quote(self.base_uri()), quote(self.normalized_params()))