Joe Cheng | 7288c4ce1b1 | Optionally require group membership for users_dir | | |
Joe Cheng | a915ce984f0 | Some user-agents don't seem to send host header | | |
Joe Cheng | 7433f60ef16 | Cleanup; reorder redirect args | | |
Joe Cheng | 6e93c120ac2 | Use new main impl | | |
Joe Cheng | a771a6024cb | Support for Google Analytics | | |
Joe Cheng | 8632570f588 | qutil.withTimeout (may come in handy later) | | |
Joe Cheng | a48fd0e5600 | Better listen directive validation | | |
Joe Cheng | ddf889c3a64 | Serialize calls to loadConfig | | |
Joe Cheng | 9f791cebc8c | Use arbitrary config file | | |
Joe Cheng | 402794b10f9 | Show version on startup | | |
Joe Cheng | 1327a634f8f | Reload config on initctl reload (SIGHUP)
- Also some improved config file error handling
- SIGUSR1 dumps worker regi... | | |
Joe Cheng | 15aaa9ddb7e | redirect directive now matches URL exactly (by default) | | |
Joe Cheng | 0aecaa44378 | Better error handling; comment code
Also Server is now tolerant of event handlers being added after setAddresses | | |
Joe Cheng | d6f9ae9712b | Implement multiple, configurable HTTP listeners | | |
Joe Cheng | b0b7b2b5d30 | Fix bad logging call | | |
Joe Cheng | 2e4630200fd | Add config features; redirect routing
- Precludes - declare which directives conflict with each other
- Specify defa... | | |
Joe Cheng | ca673f3a7cc | Support server_name directive | | |
Joe Cheng | d00a9b7ffc4 | Implement router for config file servers/locations | | |
Joe Cheng | ff398137c25 | Deserialize config to servers/locations | | |
Joe Cheng | 6744f2cb51b | app-worker improvements for Mac | | |
Joe Cheng | a5ddc94bc1f | Brace style cleanup | | |
Joe Cheng | 1556110de52 | Skip orphaned UTF-8 continuation bytes in safeTail | | |
Joe Cheng | 186d6a2e8ce | Separate sockjs and http proxies | | |
Joe Cheng | 73decaaaf2d | Further implement validation/schema | | |
Joe Cheng | 78ff42c5c2f | Implement basic config file validation | | |
Joe Cheng | e4c870bedcb | Config => ConfigNode | | |
Joe Cheng | aa73d187853 | Better class naming for config | | |
Joe Cheng | 5a6e81342b0 | Implement config parser, high-level config API | | |
Joe Cheng | b6f0146ce42 | Minor improvements to config lexer
- Export token type constants
- Attach line/col information to lexer exceptions | | |
Joe Cheng | 6e4dad4efc4 | Implement lexer for config file | | |
Joe Cheng | 900d4473749 | Implement /ping | | |
Joe Cheng | 5be599969cb | Make main.js executable | | |
Joe Cheng | 9f4ef193f94 | Proper messaging to clients on graceful shutdown | | |
Joe Cheng | 7f7b876f64e | Close stdin | | |
Joe Cheng | 21a9096430a | Gracefully shut down workers at exit | | |
Joe Cheng | 74823630341 | Proper signal sending to kill worker procs | | |
Joe Cheng | 35c5f9371f7 | Always launch workers with /bin/sh | | |
Joe Cheng | bd6b3311a09 | Add hashbang to main.js | | |
Joe Cheng | b859a46b7ce | Minor code cleanup | | |
Joe Cheng | 19331db5011 | Implement CompositeRouter, SHINY_HOMEPAGE option
CompositeRouter lets you compose routers.
SHINY_HOMEPAGE tells whe... | | |
Joe Cheng | 051854a0e97 | 'undefined' being appended on missing slash | | |
Joe Cheng | 0b618d04cbd | SHINY_GAID, SHINY_HOST, SHINY_PORT env variables | | |
Joe Cheng | 96bb18505be | New main; fix crash on unknown user | | |
Joe Cheng | cde87b08536 | Remove old impl files | | |
Joe Cheng | 4e55b5257bf | AutouserRouter auto-adds trailing / when necessary | | |
Joe Cheng | 2620e0d6033 | Log files should be owned by runAs user | | |
Joe Cheng | e3affa052ca | More secure parameter passing to worker apps | | |
Joe Cheng | 137e519b7a9 | Improvements to error display
- Show stderr when possible
- For errors during HTTP requests, display in page
- F... | | |
Joe Cheng | 0c3320da628 | Fix app-worker on Mac OS X | | |
Joe Cheng | 5bc4cd1d8ac | Missing file | | |
Joe Cheng | 2b15705b6dd | Workers shouldn't execute user's login scripts | | |
Joe Cheng | bc693376a59 | Implement some prettier errors | | |
Joe Cheng | d4b97652e98 | Use su instead of run-as | | |
Joe Cheng | eb86bb71a02 | run-as processes should not inherit most environment variables | | |
Joe Cheng | 6db649b86bf | Use run-as when launching worker process | | |
Joe Cheng | f80a8fd711a | Use correct logic to form AppSpec key | | |
Joe Cheng | 4536068ecb3 | Log file support | | |
Joe Cheng | 51feb8dbe0e | Don't crash on proxy upstream errors | | |
Joe Cheng | dbbf38f3a9a | Implement autouser routing | | |
Joe Cheng | 1d5a514c555 | Robustness improvements
- Test for existence of app directory before launching worker
- Don't return app worker unti... | | |
Joe Cheng | bd1f3ebcbf6 | Rename AppWorkerInfo => AppWorkerHandle | | |
Joe Cheng | 439e76ffa33 | Refactored proxying logic
Allows for pluggable behavior for mapping URLs to applications, and for mapping
applicatio... | | |
Joe Cheng | 0bc1c4e2a08 | Add acquire/release to worker info | | |
Joe Cheng | 3b4543a26f4 | Implement worker registry
Keeps track of what app workers are running, and can return existing
app workers or create... | | |
Joe Cheng | e1317ced520 | Smaller API for running/monitoring workers | | |
jeffreyhorner | 5b2e369d0a3 | Spawn R proc with right credentials | | |
Joe Cheng | 0ae1ba44c54 | Don't terminate on HTTP parse errors | | |
jeffreyhorner | 9ed80aa20cf | Upgrade node-http-proxy from 0.8.2 to 0.8.5 | | |
Jeffrey Horner | 953e1079510 | Tool for managing orphaned R procs | | |
jeffreyhorner | 0479a78a60b | Fix debug output to log | | |
jeffreyhorner | 337765e8a3b | Catch websocket onerror event; clean up logging a bit | | |
Joe Cheng | dfdc2ec8cef | Timestamped logs; put shutdown in on('exit') | | |
Joe Cheng | 5083e2b50c3 | Attempt to fix R processes being orphaned
- Log when sending SIGINT
- Check back after 30 seconds after SIGINT to se... | | |
jeffreyhorner | 3b3c27dfb0c | Default to well-known UTF-8 locale | | |
jeffreyhorner | 725422ac1c7 | init.d scripts for non-upstart dists | | |
jeffreyhorner | 3529e9d4d0e | Make R process inherit env var LANG to set up char encoding. | | |
jeffreyhorner | e714c7ad21e | Shut down R proc gracefully with SIGINT; doesn't save data. | | |
Joe Cheng | 4d200a02b12 | Change log path in upstart script | | |
Joe Cheng | 20ae1cfcd06 | Simplify deployment
- Install /usr/local/bin/shiny-server softlink
- Don't copy SockJSAdapter.R, just use it in plac... | | |
Joe Cheng | e49e2461487 | Tweak config file defaults. Make config file optional | | |
Joe Cheng | 5c97fcd3df4 | gitignore | | |
jeffreyhorner | 3ff40b245c4 | Upstart script added; Making better use of config dir | | |
jeffreyhorner | bfea654dd16 | Adding copyright | | |
jeffreyhorner | 966ca129cb8 | Removing bundled dependencies. Now need to run 'npm install'. | | |
Joe Cheng | 1701b48e379 | Cleaner error messages, log on failure to start | | |
Joe Cheng | 86d6a762db8 | Clean up suffix code; remove spammy logging | | |
Joe Cheng | 59e3ef71b7e | Put sockjs as suffix instead of prefix | | |
Joe Cheng | 52e60bc5ae5 | Fix serving HTML from static handler | | |
Joe Cheng | e9a00bf36ff | Revert "Fix HTML-based Shiny apps"
That commit fixed HTML-based Shiny apps and broke all the other ones!!
This reve... | | |
Joe Cheng | dbbcf6fd912 | Fix HTML-based Shiny apps | | |
jeffreyhorner | 76a74f0ec17 | Remove needless hashbang line from etcpasswd.js; was once executable. | | |
jeffreyhorner | 99a4180b9b9 | Removing unnecessary files | | |
jeffreyhorner | fcf19bf05ea | Changing verbage and other visible signs to shiny-server (was shiny-proxy) | | |
Joe Cheng | de9b6700b13 | Add /ping URL for health check | | |
Joe Cheng | b67a62cf493 | Update README | | |
Joe Cheng | 5397293e4ac | Use more idiomatic filesystem layout | | |
Joe Cheng | d138df8e610 | Add config file, Google Analytics tracking
* Homepage redirects to configurable URL
* Config file added at /etc/shin... | | |
Joe Cheng | 8c97c865e13 | Remove console.log call which breaks IE8 | | |
jeffreyhorner | 3f65f263ac1 | Missing underscore in private _socketToR property | | |
jeffreyhorner | fcac459b03a | Send custom sockjs messages to connected clients | | |
jeffreyhorner | a4a4a636154 | Termate R processes more gracefully | | |
jeffreyhorner | c1e9522ecb9 | Refactor: delay responding to requests until R proc is booted up | | |
jeffreyhorner | f6ca346ecc2 | Turn on debugging on browser javascript console | | |
jeffreyhorner | 9f05fc980bd | More logging statements; Adding headers to proxied request to eliminate caching; Establish SockjsServer immediately w... | | |
jeffreyhorner | 60360168db5 | Developer startup script for shiny-proxy | | |
jeffreyhorner | 5c041888fd1 | Place SockjsAdapter.R in /usr/local/lib/shiny-proxy/; Allow underscores in username and app name; Add more debugging ... | | |
Joe Cheng | 5856c876b1b | Stub out custom message handler | | |
Joe Cheng | f6c66244916 | Use 404 instead of 400 for unrecognized URL | | |
Joe Cheng | 40a8243c928 | Tweak URL path parsing regex
Formerly this would have matched:
/jcheng/testapp!@# | | |
Joe Cheng | ff395642980 | Change $ prefixes to _ | | |
Joe Cheng | 65d4638a8f9 | SockJS listeners attach via MetaHandler
SockJS's installHandlers function is not designed to accomodate SockJS
serve... | | |
Joe Cheng | 4d5c9761e78 | Correct typo in userAppHash reference | | |
jeffreyhorner | d074b8f65e9 | Third party node module dependencies | | |
jeffreyhorner | 43ac23a79ab | Use ReferenceCounter object to track connected clients | | |
jeffreyhorner | 765edd6db6f | New ReferenceCounter object | | |
jeffreyhorner | 7654f5f7d2e | Missing curly braces | | |
jeffreyhorner | b5ba125404e | Stop R Shiny Proc when all clients disconnect; code cleanup | | |
jeffreyhorner | 290e32dfb6c | More cleanup: removing library calls, declaring vars | | |
jeffreyhorner | 9ae1c82856b | Bug fix: add variable declarations to top of function | | |
jeffreyhorner | 233f0b8b18a | Now proxying websockets as well via sockjs | | |
jeffreyhorner | 526dcdbf7d3 | Properly routing HTTP requests: part 2 | | |
jeffreyhorner | e780369545d | Properly routing HTTP requets | | |
jeffreyhorner | 34663dc029c | RMonitorClient shim | | |
jeffreyhorner | 1d94445eefc | Add logic to extract user and app names from url | | |
jeffreyhorner | 672021f9bfd | Make etcpasswd a module and export getpwnam | | |
jeffreyhorner | e65a7b7e451 | More tools in the playground | | |
jeffreyhorner | b6edcdf310d | Eliminate dependency on internal faye-websockets module; add queuing to forwarded websocket | | |
jeffreyhorner | 497a558e1c1 | A simple port forwarder and a shiny proxy built on http-proxy and sockjs | | |
Done |