Show More
@@ -202,12 +202,6 class AuthenticatedZMQStreamHandler(ZMQStreamHandler, IPythonHandler): | |||
|
202 | 202 | Extend this method to add logic that should fire before |
|
203 | 203 | the websocket finishes completing. |
|
204 | 204 | """ |
|
205 | # Check to see that origin matches host directly, including ports | |
|
206 | # Tornado 4 already does CORS checking | |
|
207 | if tornado.version_info[0] < 4: | |
|
208 | if not self.check_origin(self.get_origin()): | |
|
209 | raise web.HTTPError(403) | |
|
210 | ||
|
211 | 205 | # authenticate the request before opening the websocket |
|
212 | 206 | if self.get_current_user() is None: |
|
213 | 207 | self.log.warn("Couldn't authenticate WebSocket connection") |
@@ -224,10 +218,7 class AuthenticatedZMQStreamHandler(ZMQStreamHandler, IPythonHandler): | |||
|
224 | 218 | # assign and yield in two step to avoid tornado 3 issues |
|
225 | 219 | res = self.pre_get() |
|
226 | 220 | yield gen.maybe_future(res) |
|
227 | # FIXME: only do super get on tornado ≥ 4 | |
|
228 | # tornado 3 has no get, will raise 405 | |
|
229 | if tornado.version_info >= (4,): | |
|
230 | super(AuthenticatedZMQStreamHandler, self).get(*args, **kwargs) | |
|
221 | super(AuthenticatedZMQStreamHandler, self).get(*args, **kwargs) | |
|
231 | 222 | |
|
232 | 223 | def initialize(self): |
|
233 | 224 | self.log.debug("Initializing websocket connection %s", self.request.path) |
@@ -235,12 +226,6 class AuthenticatedZMQStreamHandler(ZMQStreamHandler, IPythonHandler): | |||
|
235 | 226 | |
|
236 | 227 | def open(self, *args, **kwargs): |
|
237 | 228 | self.log.debug("Opening websocket %s", self.request.path) |
|
238 | if tornado.version_info < (4,): | |
|
239 | try: | |
|
240 | self.get(*self.open_args, **self.open_kwargs) | |
|
241 | except web.HTTPError: | |
|
242 | self.close() | |
|
243 | raise | |
|
244 | 229 | |
|
245 | 230 | # start the pinging |
|
246 | 231 | if self.ping_interval > 0: |
@@ -35,7 +35,7 from zmq.eventloop import ioloop | |||
|
35 | 35 | ioloop.install() |
|
36 | 36 | |
|
37 | 37 | # check for tornado 3.1.0 |
|
38 |
msg = "The IPython Notebook requires tornado >= |
|
|
38 | msg = "The IPython Notebook requires tornado >= 4.0" | |
|
39 | 39 | try: |
|
40 | 40 | import tornado |
|
41 | 41 | except ImportError: |
@@ -44,7 +44,7 try: | |||
|
44 | 44 | version_info = tornado.version_info |
|
45 | 45 | except AttributeError: |
|
46 | 46 | raise ImportError(msg + ", but you have < 1.1.0") |
|
47 |
if version_info < ( |
|
|
47 | if version_info < (4,0): | |
|
48 | 48 | raise ImportError(msg + ", but you have %s" % tornado.version) |
|
49 | 49 | |
|
50 | 50 | from tornado import httpserver |
@@ -27,22 +27,9 class TermSocket(terminado.TermSocket, IPythonHandler): | |||
|
27 | 27 | def get(self, *args, **kwargs): |
|
28 | 28 | if not self.get_current_user(): |
|
29 | 29 | raise web.HTTPError(403) |
|
30 | ||
|
31 | # FIXME: only do super get on tornado ≥ 4 | |
|
32 | # tornado 3 has no get, will raise 405 | |
|
33 | if tornado.version_info >= (4,): | |
|
34 | return super(TermSocket, self).get(*args, **kwargs) | |
|
30 | return super(TermSocket, self).get(*args, **kwargs) | |
|
35 | 31 | |
|
36 | 32 | def clear_cookie(self, *args, **kwargs): |
|
37 | 33 | """meaningless for websockets""" |
|
38 | 34 | pass |
|
39 | 35 | |
|
40 | def open(self, *args, **kwargs): | |
|
41 | if tornado.version_info < (4,): | |
|
42 | try: | |
|
43 | self.get(*self.open_args, **self.open_kwargs) | |
|
44 | except web.HTTPError: | |
|
45 | self.close() | |
|
46 | raise | |
|
47 | ||
|
48 | super(TermSocket, self).open(*args, **kwargs) |
@@ -132,7 +132,7 have['pymongo'] = test_for('pymongo') | |||
|
132 | 132 | have['pygments'] = test_for('pygments') |
|
133 | 133 | have['qt'] = test_for('IPython.external.qt') |
|
134 | 134 | have['sqlite3'] = test_for('sqlite3') |
|
135 |
have['tornado'] = test_for('tornado.version_info', ( |
|
|
135 | have['tornado'] = test_for('tornado.version_info', (4,0), callback=None) | |
|
136 | 136 | have['jinja2'] = test_for('jinja2') |
|
137 | 137 | have['mistune'] = test_for('mistune') |
|
138 | 138 | have['requests'] = test_for('requests') |
@@ -276,7 +276,7 extras_require = dict( | |||
|
276 | 276 | test = ['nose>=0.10.1', 'requests'], |
|
277 | 277 | terminal = [], |
|
278 | 278 | nbformat = ['jsonschema>=2.0'], |
|
279 |
notebook = ['tornado>= |
|
|
279 | notebook = ['tornado>=4.0', 'pyzmq>=2.1.11', 'jinja2', 'pygments', 'mistune>=0.3.1'], | |
|
280 | 280 | nbconvert = ['pygments', 'jinja2', 'mistune>=0.3.1'] |
|
281 | 281 | ) |
|
282 | 282 |
General Comments 0
You need to be logged in to leave comments.
Login now