Carol Willing
e8a1d2f1bd
Clean up docstring errors
2017-02-08 20:53:53 -08:00
Min RK
195eea55f3
log.warning
2016-03-29 09:22:32 -07:00
Min RK
31be00b49f
failure to connect may be a timeout
2016-03-04 16:28:57 +01:00
Min RK
4533d96002
use the same connection check everywhere
...
avoids inconsistencies in error handling
2016-03-04 16:28:57 +01:00
Min RK
f626d2f6e5
use 127.0.0.1 instead of localhost
...
localhost can cause some issues on badly behaved or misconfigured systems,
and 127 seems simpler.
2016-02-03 10:30:09 +01:00
Min RK
4785a1ef87
Ensure that we can bind and connect to localhost
...
otherwise fallback to 127.0.0.1 for defaults
2015-12-15 13:37:30 +01:00
Min RK
d1edbddb77
use gen.sleep
...
instead of elaborate `gen.Task(add_timeout...)`
requires tornado 4.1
2015-09-23 17:04:01 +02:00
Min RK
54c0c276ed
use hmac.compare_digest for constant time comparisons on tokens
2015-07-12 11:22:21 -05:00
Min RK
c289cdfaec
remove dependency on IPython
...
- Standalone traitlets has been released, use it directly.
- Copy url_path_join from notebook
2015-06-22 16:02:45 -07:00
Pietro Battiston
fd6e6f1ded
Get url_path_join from jupyter_notebook
2015-04-24 12:34:33 +02:00
Min RK
cf3a5744e7
better handle servers failing to start
...
including more informative TimeoutError messages
2014-11-21 17:55:52 -08:00
Min RK
40a99e61ac
drop support for old Python, IPython < 3
...
Require IPython >= 3.0, Python >= 3.3
2014-11-02 15:51:06 -08:00
Min RK
da51affacb
add hash rounds
...
default 16k
2014-10-30 15:59:02 -07:00
Min RK
aed3efc557
Don't need passlib + sqlalchemy_utils for hashing
...
we can store hash+salt ourselves.
Since we need to implement prefix filtering, etc. ourselves,
there is little benefit to adding a large dependency just for implicit hashing.
2014-10-28 14:18:32 -07:00
Scott Sanderson
a34d514d66
BUG: Fix str/unicode warnings from SQLAlchemy on python 2.
...
When running with `reset_db=True` on python 2, several SQLAlchemy operations
were performed with bytes where unicode was expected, resulting in
warnings like the following.
```
/home/ssanderson/.virtualenvs/jupyterhub/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py:573:
SAWarning: Unicode type received non-unicodebind param value.
param.append(processors[key](compiled_params[key]))
```
Fixes a few stray non-unicode literals and adds a unicode safe wrapper
for `getpass.getuser`.
2014-10-27 03:40:52 -04:00
MinRK
e47ba13aa1
catch OSError/socket.error waiting for HTTPErrors
...
catches ECONNREFUSED
2014-10-14 15:44:35 -07:00
MinRK
08fd76d1e8
wait for HTTP servers to start accepting requests
...
avoids error messages in the proxy when servers are slow to start.
2014-10-14 14:39:53 -07:00
MinRK
bb9ca0e040
store last_activity in the database
...
fetch it periodically (10 minutes) from the proxy
and display it on the admin page
2014-09-22 17:25:10 -07:00
MinRK
3a0f19f1a4
cookie_secret is no longer bytes
...
add utils.random_hex for generating a unicode object
with random hex bytes
2014-09-21 22:44:50 -07:00
MinRK
6106fecd48
raise TimeoutError in wait_for_server
2014-09-18 16:07:44 -07:00
MinRK
67e2a71d8c
log unexpected errors in wait_for_server
2014-09-18 15:01:16 -07:00
MinRK
46b3e11110
make wait_for_server async
2014-09-16 15:02:42 -07:00
MinRK
0a8759b0a5
flesh out REST API
...
can now list/view/add/create/modify users
and start/stop single-user servers
2014-09-14 16:47:09 -07:00
MinRK
53edc0b2f7
add a notion of admin users
...
and an @admin_only decorator for restricted methods
2014-09-14 11:54:05 -07:00
MinRK
0b677f8d51
fix imports in utils
2014-09-13 13:23:20 -07:00
MinRK
714770d499
reorg handlers a bit
...
make room for API handlers
2014-09-12 12:09:26 -07:00
MinRK
8ca425fd8a
make it a proper package
...
both jupyterhub and configurable-http-proxy
2014-08-20 20:26:02 -07:00
MinRK
c7acaec239
s/multiuser/jupyterhub
2014-08-19 17:44:30 -07:00