(機械翻訳) pyramid.response

class Response(body=None, status=None, headerlist=None, app_iter=None, content_type=None, conditional_response=None, charset=<object object>, **kw)[ソース]
accept_ranges

`` Accept-Ranges``ヘッダを取得して設定します( `HTTP spec section 14.5 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.5> `_)。

age

`` Age``ヘッダを取得して設定します( `HTTP spec section 14.6 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.6> `_)。 intを使用して変換します。

allow

`` Allow``ヘッダを取得して設定します( `HTTP spec section 14.7 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.7> `_)。リストを使用して変換します。

app_iter

応答の `` app_iter``を返します。

`` body``が設定されている場合、これは `` body``(単一項目リスト)から `` app_iter``を生成します。

app_iter_range(start, stop)[ソース]

与えられた `` start:stop``の範囲だけを扱う、 `` app_iter``レスポンスから構築された新しい `` app_iter``を返します。

body

レスポンスの本文は、:class: `bytes`です。これは、必要に応じてapp_iter全体で読み取られます。

body_file

本文に書き込むのに使用できるファイルのようなオブジェクト。 `` app_iter``を渡した場合、 `` app_iter``は書き込みによって変更されます。

cache_control

Cache-Controlヘッダを取得/設定/変更する( `HTTP spec section 14.9 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9> `_)。

charset

`` Content-Type``で指定された `` charset``を取得/設定します。

`` content_type``が実際に `` charset``パラメータを許していることを検証するチェックはありません。

conditional_response_app(environ, start_response)[ソース]

通常の `` __call__``インターフェースと同様ですが、条件付きヘッダをチェックします:

  • 変更された場合のみ ``( `` 304 Not Modified、 `` GET``、 `` HEAD``のみ)
  • 不一致 &#39;&#39;( `` 304未修正 ``、 `` GET、 `` HEAD``のみ)
  • `` Range``( `` 406 Partial Content``、 `` GET``、 `` HEAD``のみ)
content_disposition

`` Content-Disposition``ヘッダを取得して設定します( `HTTP spec section 19.5.1 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1> `_)。

content_encoding

`` Content-Encoding``ヘッダを取得して設定します( `HTTP spec section 14.11 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11> `_)。

content_language

`` Content-Language``ヘッダを取得して設定します( `HTTP spec section 14.12 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.12> `_)。リストを使用して変換します。

content_length

`` Content-Length``ヘッダを取得して設定します( `HTTP spec section 14.17 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17> `_)。 intを使用して変換します。

content_location

`` Content-Location``ヘッダを取得して設定します( `HTTP spec section 14.14 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.14> `_)。

content_md5

`` Content-MD5``ヘッダを取得して設定します( `HTTP spec section 14.14 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.14> `_)。

content_range

`` Content-Range``ヘッダを取得して設定します( `HTTP spec section 14.16 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16> `_)。 ContentRangeオブジェクトを使用して変換します。

content_type

`` Content-Type``ヘッダを取得/設定します。 `` Content-Type``ヘッダーが設定されていない場合、 `` None``が返されます。

バージョン 1.7 で変更: 新しい `` Content-Type``を設定すると `` Content-Type``のすべてのパラメタが削除され、 `` Content-Type``が `` text / * ならば `` charset``がデフォルトにリセットされます。 XML( `` application / xml``または `` * / * + xml)を使用します。

すべての `` Content-Type``パラメータを保持するには、次のコードを使用します:

resp = Response()
params = resp.content_type_params
resp.content_type = 'application/something'
resp.content_type_params = params
content_type_params

コンテンツタイプのすべてのパラメータの辞書。

(これは変更されるビューではなく、ディクテーションの変更は別途に適用されません)。

copy()[ソース]

応答のコピーを作成します。

date

`` Date``ヘッダを取得して設定します( `HTTP spec section 14.18 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.18> `_)。 HTTP日付を使用して変換します。

クライアントからクッキーを削除します。 `` path``と `` domain``は、Cookieの元々の設定と一致しなければならないことに注意してください。

これは、クッキーを空文字列に設定し、 `` max_age = 0``を即時に期限切れにするように設定します。

encode_content(encoding='gzip', lazy=False)[ソース]

指定されたエンコーディングでコンテンツをエンコードします( `` gzip``と `` identity``のみがサポートされています)。

etag

`` ETag``ヘッダを取得して設定します( `HTTP spec section 14.19 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.19> `_)。エンティティタグを使用して変換します。

expires

`` Expires``ヘッダを取得して設定します( `HTTP spec section 14.21 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21> `_)。 HTTP日付を使用して変換します。

classmethod from_file(fp)[ソース]

ファイル形式のオブジェクトから応答を読み込みます( `` .read(size) ``と `` .readline() ``を実装する必要があります)。

それは、ファイルの終わりではなく、応答の最後まで読み取られます。

これは、 `` str(resp) ``で表される応答を読み込みます。すべての有効なHTTP応答を正しく読み取ることができません。レスポンスには「Content-Length」が必要です。

has_body

レスポンスに:attr: 〜Response.body`があるかどうかを判定します。単にattr: `〜Response.body`にアクセスするのとは対照的に、このメソッドは基底の:attr:〜Response.app_iter`を読みません**。

headerlist

応答ヘッダーのリスト。

headers

辞書のようなオブジェクトのヘッダー。

json

レスポンスの本文をJSONとして設定/取得します。

注釈

これは自動的に:meth: 〜bytes.decode:attr:〜Response.body`をget、 ` meth: 〜str.encode:meth:` json`を `` UTF- attr:〜Response.body`に割り当てる前に `` UTF-8``としてダンプします。

json_body

レスポンスの本文をJSONとして設定/取得します。

注釈

これは自動的に:meth: 〜bytes.decode:attr:〜Response.body`をget、 ` meth: 〜str.encode:meth:` json`を `` UTF- attr:〜Response.body`に割り当てる前に `` UTF-8``としてダンプします。

last_modified

`` Last-Modified``ヘッダを取得して設定します( `HTTP spec section 14.29 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.29> `_)。 HTTP日付を使用して変換します。

location

`` Location``ヘッダを取得して設定します( `HTTP spec section 14.30 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30> `_)。

md5_etag(body=None, set_content_md5=False)[ソース]

本文のMD5ハッシュ( `` body``パラメータ、または与えられていなければ `` self.body``)を使用してレスポンスオブジェクトのetagを生成します。

`` self.etag``をセットします。

`` set_content_md5``が `` True``なら `` self.content_md5``も設定します。

merge_cookies(resp)[ソース]

このレスポンスに設定されたCookieを、指定された `` resp``オブジェクト(任意のWSGIアプリケーション)にマージします。

`` resp``が:class: `webob.Response`オブジェクトであれば、他のオブジェクトはインプレースで変更されます。

pragma

`` Pragma``ヘッダーを取得して設定します( `HTTP spec section 14.32 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.32> `_)。

retry_after

`` Retry-After``ヘッダを取得して設定します( `HTTP spec section 14.37 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.37> `_)。 HTTPの日付またはデルタ秒を使用して変換します。

server

`` Server``ヘッダを取得して設定します( `HTTP spec section 14.38 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.38> `_)。

応答にクッキーを設定(追加)します。

引数は次のとおりです。

「名前」

クッキー名。

「価値」

クッキー値。文字列または `` None``でなければなりません。 `` value``が `` None``の場合は、このクッキーキーのために:meth: `webob.response.Response.unset_cookie`メソッドを呼び出すのと同じことです(クライアント上のクッキーを効果的に削除します)。

`` max_age``

`` datetime.timedelta``または `` None``秒を表す整数です。この値は生成されたクッキーの `` Max-Age``として使われます。 `` Expires``が渡されず、この値が `` None``でない場合、 `` max_age``の値はクッキーの `` Expires``値にも影響します( `` Expires``は`` now`` + `` max_age``)。この値が `` None``の場合、 `` Expires``がセットされていない限り、クッキーは `` Max-Age``値を持ちません。 `` max_age``と `` expires``の両方が設定されている場合、この値が優先されます。

``パス ``

クッキーの `` Path``値を表す文字列です。デフォルトは `` / ``です。

「ドメイン」

クッキー `` Domain``または `` None``を表す文字列です。 domainが `` None``の場合、 `` Domain``値はクッキーに送られません。

``安全 ``

ブール値`` True``の場合は `` secure``フラグがクッキーに送られ、 `` False``の場合は `` secure``フラグがクッキーに送られません。

`` httponly``

ブール値`` True``の場合、 `` HttpOnly``フラグがクッキーに送られます。 `` False``の場合、 `` HttpOnly``フラグはクッキーに送られません。

samesite`

クッキーの `` SameSite``属性を表す文字列、または `` None``です。 samesiteが `` None``の場合、 `` SameSite``値はクッキーに送られません。 Strict &quot;` または &quot; Lax &quot; `のみでなければなりません。

``コメント ``

クッキーの `` Comment``値を表す文字列、 `` None``です。 `` comment``が `` None``の場合、 `` Comment``値はクッキーに送られません。

``満了 ``

`` datetime.datetime``または `` None``を表す `` datetime.timedelta``オブジェクトです。生成されたクッキーの「Expires」値を生成するために非 `` None``値が使用されます。 `` max_age``が渡されない場合、この値は `` None``ではなく、 `` Max-Age``ヘッダーに影響します。この値が `` None``の場合、( `` max_age``がセットされていなければ) `` Expires``のクッキー値は設定されません。 `` max_age``が設定されている場合、 `` expires``を生成するために使われ、この値は無視されます。

`` datetime.datetime``が提供されている場合、それはタイムゾーンを認識するか、またはUTCに基づいていなければなりません。現地時間である `` datetime.datetime``オブジェクトはサポートされていません。タイムゾーンを認識する `` datetime.datetime``オブジェクトはUTCに変換されます。

この引数はWebOb(バージョン1.9)の将来のバージョンでは削除されます。

``上書きする ``

このキーが `` True``の場合、クッキーを設定する前に、既存のクッキーを設定解除してください。
status

ステータス文字列。

status_code

ステータスは整数です。

status_int

ステータスは整数です。

text

`` Content-Type``または `` default_body_encoding``の `` charset``を使って本文のテキスト値を取得/設定します。

ubody

.textの非推奨エイリアス

unicode_body

.textの非推奨エイリアス

指定された名前のクッキーの設定を解除します(応答から削除します)。

vary

`` Vary``ヘッダを取得して設定します( `HTTP spec section 14.44 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.44> `_)。リストを使用して変換します。

www_authenticate

`` WWW-Authenticate``ヘッダを取得して設定します( HTTP spec section 14.47 <http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.47> `_)。 ` parse_auth``と `` serialize_auth``を使って変換します。

class FileResponse(path, request=None, cache_max_age=None, content_type=None, content_encoding=None)[ソース]

単純にディスクから静的ファイルを提供するために使用できるResponseオブジェクト。

`` path``はディスク上のファイルパスです。

`` request``はピラミッド:term: request`オブジェクトでなければなりません。あなたのPyramidアプリケーションを提供するために使用しているWebサーバの ` wsgi.file_wrapper``機能を使用しようとするのであれば、リクエスト*を渡す必要があります。

`` cache_max_age``は、この応答をHTTPキャッシュに使用する秒数です。

`` content_type``はレスポンスのcontent_typeです。

`` content_encoding``はレスポンスのcontent_encodingです。バイナリファイルを提供している場合は、このセットを `` None``のままにしておくのが一般的に安全です。 `` content```を `` None``のままにしておくと、この引数は無視されます。

class FileIter(file, block_size=262144)[ソース]

WSGI app_iterとして使用する固定ブロックサイズのイテレータ。

`` file``はPythonのファイルポインタです(あるいは少なくともサイズヒントを取る `` read``メソッドを持つオブジェクトです)。

`` block_size``は、反復のオプションのブロックサイズです。

関数

response_adapter(*types_or_ifaces, **kwargs)[ソース]

デコレータは:term: scan`で起動します。これはデコレータコンストラクタに `* types_or_ifaces``として渡される型またはインタフェースのセットのための:term:`レスポンスアダプタ &#39;として装飾される関数を扱います。

たとえば、次の応答アダプタをスキャンするとします。

from pyramid.response import Response
from pyramid.response import response_adapter

@response_adapter(int)
def myadapter(i):
    return Response(status=i)

次に、ビュー呼び出し可能な整数を返すことができ、整数をステータスコードとして持つ応答に変換されます。

コンストラクタ引数として、複数の型またはインタフェースを渡すことができます。修飾されたレスポンスアダプタは、各タイプまたはインタフェースに対して呼び出されます。

import json

from pyramid.response import Response
from pyramid.response import response_adapter

@response_adapter(dict, list)
def myadapter(ob):
    return Response(json.dumps(ob))

このメソッドは、term: `scan`がそれを含むパッケージまたはモジュールに対して再度実行されるまで、何の効果もありません。ala:

from pyramid.config import Configurator
config = Configurator()
config.scan('somepackage_containing_adapters')

:term: venusian` attach``関数に渡される2つの追加のキーワード引数は _depth``と `_category``です。

`` _depth``はこのクラスを別のデコレータから再利用したい人に提供されます。デフォルト値は `` 0``で、 `` response_adapter``の呼び出しに関連して指定する必要があります。 Venusianがデコレータがクラスまたはモジュールコンテキストで使用されているかどうかをチェックするときに、callstackの深さとして:term: venusian` `attach``関数に渡されます。それは頻繁には使用されませんが、この状況では便利です。

`` _category``はデコレータのカテゴリ名を設定します。これは、どのビューを処理するかを制御する `` scan``の `` category``引数と組み合わせて使うと便利です。

`` _depth``と `` _category``引数の詳細については、Venusianの:py:func: `venusian.attach`関数を参照してください。

バージョン 1.9.1 で変更: Added the _depth and _category arguments.