Commit Graph

46 Commits

Author SHA1 Message Date
Min RK
e5b135a905 debugging websocket connections
- add debug statement at the very beginning of a web socket request
- add debug statement in open, indicating that the connection has been accepted
- add timeout, so failed or slow kernel_info doesn't cause the request to never get a response
- don't send kernel_info_request before authenticating the request

The last one required some icky coroutine shenanigans,
because of our subclass structure, but it should work fine.
2014-10-29 09:17:52 -07:00
MinRK
a5a43e2746 Don't resend kernel info requests if a bad reply is received 2014-10-26 19:06:48 -07:00
MinRK
94d6196ef9 add websocket workarounds for tornado 3
WebSocketHandler.get is new in tornado 4
2014-10-26 19:06:48 -07:00
MinRK
769fe38789 cache kernel_info reply for protocol adaptation
WebSocket connections will not open until kernel_info is retrieved,
removing a race condition waiting for the reply to indicate adaptation,
which could result in a v5 message being sent to a v4 kernel.
The reply is cached, so that it need not be requested on each new connection.
2014-10-26 14:48:55 -07:00
MinRK
3693ac83ae support binary message from javascript 2014-10-15 12:23:32 -07:00
MinRK
c9c131ebf9 s/unserialize/deserialize 2014-10-15 12:23:32 -07:00
MinRK
7da61bfc13 use default kernel name in kernels service
matches sessions API
2014-10-12 14:59:03 -07:00
MinRK
624f0071a2 remove on_first_message authentication
in ZMQStreams. No need for weird, special first message.

- use regular cookie auth
- use url param for session id
2014-10-09 15:12:20 -07:00
MinRK
bd5a88e954 handle undefined or closed zmq_stream in on_message
can happen if a message is waiting in a pipe and the web socket is closed before the message is handled.

And give ZMQChannels a nice repr with their kernel ID
2014-08-13 21:51:52 -07:00
rgbkrk
88e52b2746 Only allow iframe embedding on same origin. 2014-07-12 00:20:24 -05:00
Thomas Kluyver
ae6309c122 Add support for different kernel specs to kernels REST API 2014-07-10 23:50:00 -05:00
MinRK
44d2a5b62a only use zmq.jsonapi when talking to zmq sockets
use stdlib json otherwise
2014-06-18 13:41:40 -07:00
MinRK
336f47c126 update message spec adapter per review
- docs and comments
- adapt complete_reply with `end=null`, `start=-len(matched_text)`
- remove some incorrect `status` fields
- add `handle_reply_status_error` for handling `status=error` replies (no-op, currently)
2014-05-09 12:04:08 -07:00
MinRK
b06f382e9b interrogate kernel_info to get protocol version for adaptation 2014-05-09 12:04:08 -07:00
Thomas Kluyver
c4e0ef142b Merge pull request #5759 from minrk/travis-3.4
test with Python 3.4 on Travis
2014-05-05 10:20:56 -07:00
MinRK
191cd44c4d cleanup socket cleanup
- set linger on sockets (avoid hang on exit)
- actually close sockets, not just zmq streams (blame pyzmq, aka me)

seems to be necessary for js/notebook/shutdown test to avoid hanging on Python 3.4.
2014-05-01 16:06:59 -07:00
Spencer Nelson
925a58c0b4 Remove unused imports 2014-05-01 15:42:46 -07:00
Dale Jung
27a77dedbd API: Allow NotebookManagers to control kernel startup dir. #5468 2014-03-29 17:39:15 -04:00
MinRK
d37780c6a6 use config instead of App.instance to propagate notebook_dir
Should behave more logically (I hope).
2014-02-21 13:22:57 -08:00
MinRK
cb25736a24 reorganize who knows what about paths
- add NotebookApp.notebook_dir
- add KernelManager.root_dir
- remove NotebookManager.notebook_dir, move to FileNBM.notebook_dir

Default value for KM.root_dir and fNBM.notebook_dir is NotebookApp.notebook_dir, but they can be configured separately.

SessionManager passes the API path to KernelManager,
which is responsible for turning it into the kernel's cwd.
2014-02-21 13:22:56 -08:00
MinRK
37cb0fbdee remove websocket url
websockets should follow the kernel URL

(normal behavior is unchanged, only unused configurability is removed)
2014-02-20 22:54:36 -08:00
MinRK
a184724bdb remove base_kernel_url 2014-02-11 21:26:10 -08:00
MinRK
7ea311ad64 escape URLs in Location headers 2013-10-18 16:13:53 -07:00
Brian E. Granger
36aa39e3b7 Improving tests and setting of Location header. 2013-10-17 14:09:20 -07:00
Thomas Kluyver
d089f7749f Use assertEqual, not deprecated assertEquals 2013-10-17 14:09:19 -07:00
Thomas Kluyver
836ad5f388 Add tests for interrupting & restarting kernel
These are in an existing test method, as starting and stopping kernels
for individual tests is expensive.
2013-10-17 14:09:19 -07:00
Thomas Kluyver
06fa301908 Refactor tests for kernels REST API 2013-10-17 14:09:18 -07:00
Zachary Sailer
9e0beba86f adding to test_kernels_api.py
- Check all HTTP status code responses for requests
- Test invalid kernel IDs
- Check 'location' key in POST request to kernels
2013-10-17 14:09:12 -07:00
Zachary Sailer
97bc426bb7 add error catching to kernel manager
also, adding further tests to kernel manager
2013-10-17 14:09:11 -07:00
MinRK
5568cd5db0 ensure test_no_kernels runs first
since it expects a clean notebook server.
2013-10-17 14:09:11 -07:00
Zachary Sailer
27680dacb2 Code review changes.
Fixed handler issues and api tests from code review
from @minrk and @carreau.
2013-10-17 14:09:11 -07:00
Zachary Sailer
050a3098a8 review fixes on tests, add extra kernel api test 2013-10-17 14:09:10 -07:00
Zachary Sailer
e9ac1c2d37 add tests for session api 2013-10-17 14:09:10 -07:00
Brian E. Granger
136a19e5eb Added base class for Notebook API tests. 2013-10-17 14:09:09 -07:00
Zachary Sailer
483d16c8ed clean kernel manager 2013-10-17 14:09:09 -07:00
Zachary Sailer
8c2009874c session manager restructuring
Redid the sessionmanager, added tests for the session manager,
and added a sqlite database to hold kernel,session,nb mapping.
2013-10-17 14:09:09 -07:00
Zachary Sailer
8261ac2cb9 change standard money keys 2013-10-17 14:09:06 -07:00
Zachary Sailer
fd282698bc removing debug logs 2013-10-17 14:09:05 -07:00
Zachary Sailer
62ec52e276 fix restart/interrupt kernel buttons 2013-10-17 14:07:50 -07:00
Zachary Sailer
09c4ecbb10 manual rebase services/kernels/ 2013-10-17 14:07:49 -07:00
MinRK
39578beabc remove max_msg_size altogether
It was a security feature without an application.
2013-07-09 09:37:36 -07:00
MinRK
4408ab6ca1 warn about messages dropped due to oversize 2013-07-05 22:17:40 -07:00
MinRK
563d9372bf up default max_msg_size to 1MB 2013-07-05 22:17:39 -07:00
Thomas Kluyver
a2bf752dba Remove unused imports in IPython.html 2013-07-02 22:31:40 +01:00
Thomas Kluyver
acb7eefef8 Remove unexpected keyword parameter to remove_kernel
Closes gh-3474
2013-06-29 23:01:34 +01:00
MinRK
cf726d6a40 mv IPython.html.notebook -> IPython.html 2013-06-27 11:14:10 -07:00