teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

9

追記

2021/07/02 07:45

投稿

sequelanonymous
sequelanonymous

スコア123

title CHANGED
File without changes
body CHANGED
@@ -85,6 +85,38 @@
85
85
  return server
86
86
  ```
87
87
 
88
+ set_appの定義の箇所
89
+ ```python
90
+ class WSGIServer(HTTPServer):
91
+
92
+ """BaseHTTPServer that implements the Python WSGI protocol"""
93
+
94
+ application = None
95
+
96
+ def server_bind(self):
97
+ """Override server_bind to store the server name."""
98
+ HTTPServer.server_bind(self)
99
+ self.setup_environ()
100
+
101
+ def setup_environ(self):
102
+ # Set up base environment
103
+ env = self.base_environ = {}
104
+ env['SERVER_NAME'] = self.server_name
105
+ env['GATEWAY_INTERFACE'] = 'CGI/1.1'
106
+ env['SERVER_PORT'] = str(self.server_port)
107
+ env['REMOTE_HOST']=''
108
+ env['CONTENT_LENGTH']=''
109
+ env['SCRIPT_NAME'] = ''
110
+
111
+ def get_app(self):
112
+ return self.application
113
+
114
+ def set_app(self,application):
115
+ self.application = application
116
+ ```
117
+
118
+
119
+
88
120
  uwsgiの場合は、setup_pypy.pyに定義があり、同じ読み込み方をしているのかどうかは気になります。
89
121
  [該当コード](https://github.com/unbit/uwsgi/blob/d58a832c81c2c96ae0f6e72614e1cc47f4b5d332/plugins/pypy/pypy_setup.py#L470)
90
122
 

8

修正

2021/07/02 07:45

投稿

sequelanonymous
sequelanonymous

スコア123

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,5 @@
1
- 下記のようにデバックしていて、気になりました。environ, start_responseは、どの記述箇所で引数がセットされているのか?start_responseの定義がある箇所はわかっています。
1
+ 下記のようにデバックしていて、気になりました。引数のenviron, start_responseは、どのモジュールのどこの記述箇所でセットされているのか
2
+ start_responseの定義がある箇所はわかっています。
2
3
 
3
4
  ```python
4
5
  from wsgiref.util import setup_testing_defaults

7

修正

2021/07/02 07:41

投稿

sequelanonymous
sequelanonymous

スコア123

title CHANGED
@@ -1,1 +1,1 @@
1
- 引数のenviron, start_responseは、どの記述箇所でセットされているのか
1
+ 引数のenviron, start_responseは、どのモジュールのどこの記述箇所でセットされているのか
body CHANGED
File without changes

6

修正

2021/07/02 07:40

投稿

sequelanonymous
sequelanonymous

スコア123

title CHANGED
@@ -1,1 +1,1 @@
1
- environ, start_responseは、どの記述箇所で引数がセットされているのか
1
+ 引数のenviron, start_responseは、どの記述箇所でセットされているのか
body CHANGED
File without changes

5

修正

2021/07/02 07:39

投稿

sequelanonymous
sequelanonymous

スコア123

title CHANGED
@@ -1,1 +1,1 @@
1
- environstart_responseは、どうやって呼ばれているのか
1
+ environ, start_responseは、どの記述箇所で引数がセットされているのか
body CHANGED
@@ -1,5 +1,4 @@
1
- 下記のようにデバックしていて、気になりました。environstart_responseうやって呼ばれているのか?
1
+ 下記のようにデバックしていて、気になりました。environ, start_responseは、の記述箇所で引数がセットされているのか?start_responseの定義がある箇所はわかっています。
2
- start_responseの定義がある箇所はわかっています。
3
2
 
4
3
  ```python
5
4
  from wsgiref.util import setup_testing_defaults

4

追記

2021/07/02 07:37

投稿

sequelanonymous
sequelanonymous

スコア123

title CHANGED
File without changes
body CHANGED
@@ -42,6 +42,7 @@
42
42
  wsgiref > simple_server.py > def make_server
43
43
  ```
44
44
 
45
+ start_responseの定義
45
46
  ```python
46
47
  def start_response(self, status, headers,exc_info=None):
47
48
  """'start_response()' callable as specified by PEP 3333"""
@@ -73,6 +74,17 @@
73
74
  return self.write
74
75
  ```
75
76
 
77
+ make_serverの定義
78
+ ```python
79
+ def make_server(
80
+ host, port, app, server_class=WSGIServer, handler_class=WSGIRequestHandler
81
+ ):
82
+ """Create a new WSGI server listening on `host` and `port` for `app`"""
83
+ server = server_class((host, port), handler_class)
84
+ server.set_app(app)
85
+ return server
86
+ ```
87
+
76
88
  uwsgiの場合は、setup_pypy.pyに定義があり、同じ読み込み方をしているのかどうかは気になります。
77
89
  [該当コード](https://github.com/unbit/uwsgi/blob/d58a832c81c2c96ae0f6e72614e1cc47f4b5d332/plugins/pypy/pypy_setup.py#L470)
78
90
 

3

修正

2021/07/02 07:27

投稿

sequelanonymous
sequelanonymous

スコア123

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- 下記のようにデバックしてenvironとstart_responseどうやって呼ばれているのか?
1
+ 下記のようにデバックしていて、気になりました。environとstart_responseどうやって呼ばれているのか?
2
2
  start_responseの定義がある箇所はわかっています。
3
3
 
4
4
  ```python

2

修正

2021/07/02 07:18

投稿

sequelanonymous
sequelanonymous

スコア123

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- 下記のようにデバックしてenvironとstart_responseをどうやって呼ばれているのか?とりわけ、start_response関数は、なぜ、明示的にimport文をかいていないのに引数に指定して利用することができるのでしょうか?
1
+ 下記のようにデバックしてenvironとstart_responseをどうやって呼ばれているのか?
2
2
  start_responseの定義がある箇所はわかっています。
3
3
 
4
4
  ```python

1

修正

2021/07/02 07:18

投稿

sequelanonymous
sequelanonymous

スコア123

title CHANGED
File without changes
body CHANGED
@@ -77,4 +77,4 @@
77
77
  [該当コード](https://github.com/unbit/uwsgi/blob/d58a832c81c2c96ae0f6e72614e1cc47f4b5d332/plugins/pypy/pypy_setup.py#L470)
78
78
 
79
79
 
80
- 関連する質問はこちら
80
+ 関連する質問は[こちら](https://teratail.com/questions/346766)