当前位置: 首页>>代码示例>>Python>>正文


Python Headers.add方法代码示例

本文整理汇总了Python中werkzeug.datastructures.Headers.add方法的典型用法代码示例。如果您正苦于以下问题:Python Headers.add方法的具体用法?Python Headers.add怎么用?Python Headers.add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在werkzeug.datastructures.Headers的用法示例。


在下文中一共展示了Headers.add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_subscription_remove_period

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
def test_subscription_remove_period(client, session):
    password = "password"
    user = UserFactory(active=True, password=password)
    author = AuthorFactory()
    sub = SubscriptionFactory(user=user, author=author, active=True)
    sub.add_period(PERIOD.DAILY)

    assert sub.has_period(PERIOD.DAILY)
    assert len(sub.periods) == 1

    h = Headers()
    auth = requests.auth._basic_auth_str(user.email, password)
    h.add("Authorization", auth)
    url = "{0}{1}{2}{3}".format(
        url_for("subscriptions.remove_period"),
        "?period=Daily",
        "&subscription_id=",
        str(sub.id),
    )

    response = client.post(url, headers=h)

    assert response.status_code == 302

    assert len(sub.periods) == 0
    assert sub.has_period(PERIOD.DAILY) is False
开发者ID:DBeath,项目名称:flask-feedrsub,代码行数:28,代码来源:integration_test.py

示例2: test07_access_token_handler

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
 def test07_access_token_handler(self):
     with dummy_app.test_request_context('/a_request'):
         auth = IIIFAuthBasic()
         response = auth.access_token_handler()
         self.assertEqual( response.status_code, 200 )
         self.assertEqual( response.headers['Content-type'], 'application/json' )
         j = json.loads(response.get_data())
         self.assertEqual( j['error_description'], "No login details received" )
         self.assertEqual( j['error'], "client_unauthorized" )
     # add Authorization header, check we get token
     h = Headers()
     h.add('Authorization', 'Basic ' + base64.b64encode('userpass:userpass'))
     with dummy_app.test_request_context('/a_request', headers=h):
         auth = IIIFAuthBasic()
         response = auth.access_token_handler()
         self.assertEqual( response.status_code, 200 )
         self.assertEqual( response.headers['Content-type'], 'application/json' )
         j = json.loads(response.get_data())
         self.assertEqual( j['access_token'], "secret_token_here" ) #FIXME
         self.assertEqual( j['token_type'], "Bearer" )
         self.assertEqual( j['expires_in'], 3600 )
     # add callback but no Authorization header
     with dummy_app.test_request_context('/a_request?callback=CB'):
         auth = IIIFAuthBasic()
         response = auth.access_token_handler()
         self.assertEqual( response.status_code, 200 )
         self.assertEqual( response.headers['Content-type'], 'application/javascript' )
         # strip JavaScript wrapper and then check JSON
         js = response.get_data()
         self.assertTrue( re.match('CB\(.*\);',js) )
         j = json.loads(js.lstrip('CB(').rstrip(');'))
         self.assertEqual( j['error_description'], "No login details received" )
         self.assertEqual( j['error'], "client_unauthorized" )
开发者ID:pbinkley,项目名称:iiif,代码行数:35,代码来源:test_auth_basic.py

示例3: test_info_conneg_415

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
	def test_info_conneg_415(self):
		self.app.redirect_conneg = False
		h = Headers()
		h.add('accept','text/plain')
		to_get = '/%s/info' % (self.test_jp2_color_id,)
		resp = self.client.get(to_get, headers=h, follow_redirects=True)
		self.assertEqual(resp.status_code, 415)
开发者ID:PrincetonPy,项目名称:loris,代码行数:9,代码来源:webapp_t.py

示例4: test_image_conneg_redirect

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
	def test_image_conneg_redirect(self):
		self.app.redirect_conneg = True
		h = Headers()
		h.add('accept','image/jpeg')
		to_get = '/%s/full/full/0/native' % (self.test_jp2_color_id,)
		resp = self.client.get(to_get, headers=h, follow_redirects=False)
		self.assertEqual(resp.status_code, 301)
开发者ID:PrincetonPy,项目名称:loris,代码行数:9,代码来源:webapp_t.py

示例5: test05_login_handler

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
 def test05_login_handler(self):
     """Test login_handler."""
     with dummy_app.test_request_context('/a_request'):
         auth = IIIFAuthBasic()
         response = auth.login_handler()
         self.assertEqual(response.status_code, 401)
         self.assertEqual(response.headers['Content-type'], 'text/html')
         html = response.get_data().decode('utf-8')  # data is bytes in python3
         self.assertEqual(html, '')
     # add good login params and check OK, window close
     h = Headers()
     h.add('Authorization', b'Basic ' +
           base64.b64encode(b'userpass:userpass'))
     with dummy_app.test_request_context('/a_request', headers=h):
         response = auth.login_handler()
         self.assertEqual(response.status_code, 200)
         html = response.get_data().decode('utf-8')
         self.assertTrue(
             re.search(
                 r'<script>window.close\(\);</script>',
                 html))
         set_cookie = response.headers['Set-Cookie']
         self.assertTrue(
             re.search(
                 auth.auth_cookie_name +
                 '=valid-http-basic-login',
                 set_cookie))
     # add bad login params and check fail
     h = Headers()
     h.add('Authorization', b'Basic ' +
           base64.b64encode(b'userpass:bad-pass'))
     with dummy_app.test_request_context('/a_request', headers=h):
         response = auth.login_handler()
         self.assertEqual(response.status_code, 401)
开发者ID:edsilv,项目名称:iiif,代码行数:36,代码来源:test_auth_basic.py

示例6: build_headers

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
    def build_headers(self, data_json=False):
        headers = Headers()

        if data_json:
            headers.add('Content-Type', 'application/json')

        return headers
开发者ID:naughtyfiddle,项目名称:cs373-idb,代码行数:9,代码来源:nd_test_case.py

示例7: create_task

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
def create_task(name, url, queued_callback=None, parameters=None):

  # task name must be unique
  if not parameters:
    parameters = {}
  task = BackgroundTask(name=name + str(int(time())))
  task.parameters = parameters
  task.modified_by = get_current_user()
  db.session.add(task)
  db.session.commit()

  # schedule a task queue
  if getattr(settings, 'APP_ENGINE', False):
    from google.appengine.api import taskqueue
    headers = Headers(request.headers)
    headers.add('x-task-id', task.id)
    taskqueue.add(
        queue_name="ggrc",
        url=url,
        name="{}_{}".format(task.name, task.id),
        params={'task_id': task.id},
        method=request.method,
        headers=headers)
  elif queued_callback:
    queued_callback(task)
  return task
开发者ID:VinnieJohns,项目名称:ggrc-core,代码行数:28,代码来源:background_task.py

示例8: test_locale_negotiation

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
def test_locale_negotiation(client, testdata):
    headers = Headers()
    headers.add("Accept-Language", testdata.header)

    res = client.get("/locale?available=" + testdata.available, headers=headers)
    assert res.status_code == 200
    assert res.json == {u"locale": testdata.result}
开发者ID:skylines-project,项目名称:skylines,代码行数:9,代码来源:i18n_test.py

示例9: test_get_existing_node_informations

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
 def test_get_existing_node_informations(self):
     time.sleep(5)
     h = Headers()
     h.add("Authorization", self.valid_test_token)
     rv = self.client.get(self.node_resource_path, headers=h)
     for info in ["ip", "node", "state", "name"]:
         self.assertTrue(info in rv.data)
开发者ID:hivetech,项目名称:hivy.legacy,代码行数:9,代码来源:test_node.py

示例10: fetch

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
def fetch():
    url = request.form['url']
    print url
    try:
        h = Headers(request.headers)
        h.clear()
        h.add('referer', 'https://www.facebook.com/')

        r = requests.request(
            method='GET',
            url=url,
            headers=h,
            timeout=5
        )
    except (
            requests.exceptions.Timeout,
            requests.exceptions.ConnectTimeout,
            requests.exceptions.ReadTimeout):
        return Response(status=504)
    except (
            requests.exceptions.ConnectionError,
            requests.exceptions.HTTPError,
            requests.exceptions.TooManyRedirects):
        return Response(status=502)
    except (
            requests.exceptions.RequestException,
            Exception) as e:
        if app.debug:
            raise e
        return Response(status=500)

    mimetype = "text/html"
    return Response(r.content, mimetype=mimetype)
开发者ID:elaineo,项目名称:dumbproxy,代码行数:35,代码来源:server.py

示例11: test_admin_page_rejects_bad_username

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
 def test_admin_page_rejects_bad_username(self):
     """ Check that incorrect username won't allow access """
     h = Headers()
     auth = 'foo:{0}'.format(Config.PASSWORD).encode('ascii')
     h.add('Authorization', b'Basic ' + base64.b64encode(auth))
     rv = Client.open(self.client, path='/', headers=h)
     self.assert_401(rv)
开发者ID:jmcarp,项目名称:cg-quotas-db,代码行数:9,代码来源:tests.py

示例12: test07_access_token_handler

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
 def test07_access_token_handler(self):
     with dummy_app.test_request_context('/a_request'):
         auth = IIIFAuthGoogle(client_secret_file=csf)
         response = auth.access_token_handler()
         self.assertEqual( response.status_code, 200 )
         self.assertEqual( response.headers['Content-type'], 'application/json' )
         j = json.loads(response.get_data())
         self.assertEqual( j['error_description'], "No login details received" )
         self.assertEqual( j['error'], "client_unauthorized" )
     # add callback but no account cookie
     with dummy_app.test_request_context('/a_request?callback=CB'):
         auth = IIIFAuthGoogle(client_secret_file=csf)
         response = auth.access_token_handler()
         self.assertEqual( response.status_code, 200 )
         self.assertEqual( response.headers['Content-type'], 'application/javascript' )
         # strip JavaScript wrapper and then check JSON
         js = response.get_data()
         self.assertTrue( re.match('CB\(.*\);',js) )
         j = json.loads(js.lstrip('CB(').rstrip(');'))
         self.assertEqual( j['error_description'], "No login details received" )
         self.assertEqual( j['error'], "client_unauthorized" )
     # add an account cookie
     h = Headers()
     h.add('Cookie', 'lol_account=ACCOUNT_TOKEN')
     with dummy_app.test_request_context('/a_request', headers=h):
         auth = IIIFAuthGoogle(client_secret_file=csf, cookie_prefix='lol_')
         response = auth.access_token_handler()
         self.assertEqual( response.status_code, 200 )
         self.assertEqual( response.headers['Content-type'], 'application/json' )
         j = json.loads(response.get_data())
         self.assertEqual( j['access_token'], "ACCOUNT_TOKEN" )
         self.assertEqual( j['token_type'], "Bearer" )
开发者ID:pbinkley,项目名称:iiif,代码行数:34,代码来源:test_auth_google.py

示例13: song

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
def song(id, ext):
	song = db.session.query(Song.id, Song.filename, Song.length, Song.mimetype, Song.artist, Song.album, Song.title, Song.track).filter(Song.id == id).first()
	if song == None or not os.path.exists(song.filename):
		return abort(404)
	headers = Headers()
	headers.add("X-Content-Duration", song.length)
	headers.add("X-Accel-Buffering", "no")
	range_header = request.headers.get('Range', None)
	if range_header is not None:
		range_header = range_header.split("-")
		try:
			range_header = intval(range_header[0])
		except:
			range_header = None
	if range_header is None or range_header == 0:
		db.session.add(Download(song, request))
		db.session.commit()
	
	ext = ext.lower()

	for extension, mimeset in mimetypes.items():
		if song.mimetype in mimeset and extension == ext:
			return send_file_partial(song.filename, mimetype=song.mimetype, attachment_filename=generate_download_filename(song, ext), headers=headers)

	if ext not in [ "ogg", "mp3", "flac", "wav", "webm" ]:
		return abort(404)
	transcode_options = [ 'avconv', '-loglevel', 'quiet', '-i', song.filename, '-f', ext, '-y', '-fflags', 'nobuffer' ];
	if ext == "ogg" or ext == "webm":
		transcode_options.extend([ '-acodec', 'libvorbis', '-aq', '5' ])
	elif ext == "mp3":
		transcode_options.extend([ '-ab', '160k' ])
	transcode_options.append('-')
	return send_process(transcode_options, mimetype=mimetypes[ext][0], attachment_filename=generate_download_filename(song, ext), headers=headers)
开发者ID:Hadryan,项目名称:zmusic-ng,代码行数:35,代码来源:song.py

示例14: handler_b2s_image

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
    def handler_b2s_image(self, id=None):
        """ Handler for `/b2s_image` url for json data.

        It accepts only Communication Kit Notifications.

        """
        if id is None:
            raise BadRequest()
        headers = request.httprequest.headers
        self._validate_headers(headers)
        correspondence_obj = request.env['correspondence'].sudo()
        correspondence = correspondence_obj.search([('uuid', '=', id)])
        if not correspondence:
            raise NotFound()
        data = correspondence.get_image()
        headers = Headers()
        if correspondence.letter_format == 'zip':
            fname = fields.Date.today() + ' letters.zip'
            headers.add(
                'Content-Disposition', 'attachment',
                filename=fname)
            response = Response(data, content_type='application/zip',
                                headers=headers)
        else:
            headers.add(
                'Content-Disposition', 'attachment',
                filename=correspondence.file_name)
            response = Response(data, content_type='application/pdf',
                                headers=headers)
        return response
开发者ID:maxime-beck,项目名称:compassion-modules,代码行数:32,代码来源:b2s_image.py

示例15: test_user_rss_url_etag

# 需要导入模块: from werkzeug.datastructures import Headers [as 别名]
# 或者: from werkzeug.datastructures.Headers import add [as 别名]
def test_user_rss_url_etag(session, client):
    entries = EntryFactory.create_batch(5)
    author1 = AuthorFactory()
    author1.entries.extend(entries)
    user = UserFactory(active=True)
    user.userfeed.private = False
    sub1 = Subscription(user=user, author=author1)
    sub1.save()

    h = Headers()
    h.add("If-None-Match", None)
    response1 = client.get(url_for("users.user_feed", user_id=user.id), headers=h)

    assert response1.status_code == 200
    etag = response1.headers.get("ETag")
    assert response1.data
    assert (
        response1.headers.get("Content-Type") == "application/atom+xml; charset=utf-8"
    )

    h.add("If-None-Match", etag)
    response2 = client.get(url_for("users.user_feed", user_id=user.id), headers=h)

    assert response2.status_code == 304
    etag2 = response2.headers.get("ETag")
    assert etag2 == etag
    assert not response2.data
开发者ID:DBeath,项目名称:flask-feedrsub,代码行数:29,代码来源:user_test.py


注:本文中的werkzeug.datastructures.Headers.add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。