* Fix#1824: HEAD request on static files causes app to stop
The problem was that for HEAD requests specifically, we implement
an explicit Content-Length header (normally we let httpuv figure
out the Content-Length based on the content, but for HEAD we don't
return any content but still want to include the Content-Length).
The Content-Length header was only implemented correctly for string
values, not for raw vectors or file-by-path. This change implements
the value correctly for all currently valid httpuv content.
* Update NEWS
* Code review feedback
* NEWS item
* added `onStop` arg to `shinyApp()` (and renamed our internal `onEnd` - which is what was calling `on.exit()` already - to `onStop` as well)
* added onStop() function
* add entry for documentation
* make it work for all possible app structures (interactive, saved as app.R, saved as ui.R and server.R)
* fix#1772: make sure `onStart` works in all scenarios
* update NEWS
* improved wording
* more wording
* and more wording
* don't stop execution if a `onStop` callback function results in an error
* remove "(all sessions have been disconnected)" because it's misleading
* add @seealso documentation
* shamefully forgot to Cmd Shift D
* change code place
* Code review feedback
* onStop: use session argument instead of scope
Squashed commit of the following:
commit 8667bed8962069a5cab8691f981e2b7ba9d449c3
Author: Winston Chang <winston@stdout.org>
Date: Tue Jul 11 14:36:11 2017 -0500
Edits
commit c4e8549ca5
Author: Konrad Rudolph <konrad.rudolph@gmail.com>
Date: Fri Jul 7 17:57:33 2017 +0100
Describe changes
commit 7b05c2e60f
Author: Konrad Rudolph <konrad.rudolph@gmail.com>
Date: Fri Jul 7 17:54:40 2017 +0100
Add new function to doc index
commit eb93ebfad8
Author: Konrad Rudolph <konrad.rudolph@gmail.com>
Date: Fri Jul 7 17:54:30 2017 +0100
Add documentatio for new function
commit 1a6c8a4d72
Author: Konrad Rudolph <konrad.rudolph@gmail.com>
Date: Fri Jul 7 17:53:13 2017 +0100
Add a function to test whether the app is running
* - Convert all example apps to single file app.R file
- Make relevant updates to Readmes to match up with app.R structure
- Add color to plots (RStudio blue)
- In 04_mpg example: Show outliers by default, as opposed to hide, since this is more routine
- In 06_tabsets and 08_html examples: Don't name random data vector "data"
- Add extensive comments to app.R files and use consistent formatting of comments across examples
- In 09_upload example: Use req() to check for NULL entry
* add news entry summarizing changes
* use true RStudio blue, #75AADB
* Conver shinyApp calls at the end to drop argument name in examples 3-11, except for the custom HTML example. Kept them in for examples 1&2 for completeness in first exporuse to function.
* Pull news items that got added before this PR was merged
* Update comment for shinyApp function -- it creates an app object, doesn't run the app
* trigger a new `shiny:invalidated` event when an output gets invalidated, at the same time that the `recalculating` CSS class is added (fixes#1688)
* add attribution to @andrewsali
* change event name from 'shiny:invalidated' to 'shiny:outputinvalidated'
* add binding and name to the new event 'shiny:outputinvalidated'