我们从Python开源项目中,提取了以下4个代码示例,用于说明如何使用boto.UserAgent()。
def test_user_agent_not_url_encoded(self): headers = {'Some-Header': u'should be url encoded', 'User-Agent': UserAgent} request = HTTPRequest('PUT', 'https', 'amazon.com', 443, None, None, {}, headers, 'Body') mock_connection = mock.Mock() # Create a method that preserves the headers at the time of # authorization. def mock_add_auth(req, **kwargs): mock_connection.headers_at_auth = req.headers.copy() mock_connection._auth_handler.add_auth = mock_add_auth request.authorize(mock_connection) # Ensure the headers at authorization are as expected i.e. # the user agent header was not url encoded but the other header was. self.assertEqual(mock_connection.headers_at_auth, {'Some-Header': 'should%20be%20url%20encoded', 'User-Agent': UserAgent})
def authorize(self, connection, **kwargs): for key in self.headers: val = self.headers[key] if isinstance(val, unicode): self.headers[key] = urllib.quote_plus(val.encode('utf-8')) connection._auth_handler.add_auth(self, **kwargs) self.headers['User-Agent'] = UserAgent # I'm not sure if this is still needed, now that add_auth is # setting the content-length for POST requests. if 'Content-Length' not in self.headers: if 'Transfer-Encoding' not in self.headers or \ self.headers['Transfer-Encoding'] != 'chunked': self.headers['Content-Length'] = str(len(self.body))