Commits on Nov 30, 2018
  1. Merge pull request #342 from shapenaji/master

    schloerke committed Nov 30, 2018
    Combines PR 340 and PR 341 and fixes email for CLA
Commits on Nov 16, 2018
  1. Merge pull request #343 from shrektan

    schloerke committed Nov 16, 2018
Commits on Nov 14, 2018
  1. fix the missing test_path() in the test files

    shrektan committed Nov 14, 2018
  2. initializing default serializer as part of constructor to fix #339

    shapenaji committed Nov 14, 2018
  3. added ... to handle method in plumber.R to pass more arguments to Plu…

    shapenaji committed Nov 14, 2018
    …mberEndpoint constructor
Commits on Nov 7, 2018
  1. fix appveyor windows tests (#334)

    schloerke committed Nov 7, 2018
    * use isWindows
    * try with a window's slash
    * add comment about appveyor not liking files/
Commits on Nov 6, 2018
  1. uft8 source file support (#328)

    schloerke and shrektan committed Nov 6, 2018
    * The source files used in plumber must use the UTF-8 encoding if they contain
    non-ASCII characters
    * comments
    * display appveyor local
    * try in install script
    * chinese only
    * top level scripts only
    * no cache
    * use testthat::test_path when providing relative test files
    * add sourceUTF8 and helper functions from shiny
    This stems from wanting to read utf8 files on a non utf8 locale.  On windows, the locale is set to the system default which typically does not support utf8 out of the box.
    sourceUTF8 functions are adopted form the rstudio/shiny repo in an effort to use code that has already be validated to work.
    The ending finding is that `source(file, encoding="UTF-8")` does not work as expected and instead should use `eval(parse(file, encoding = "UTF-8"))`
    * remove appveyor file as locale / utf8 can be tested on travis
    * add second PR to news item
    * add note for why sourcing is done
    * add note about keeping the source location when parsing
    * Evalauate all file expression blocks only once, not once or twice
    Fixes tests made in #331
    * activateBlock -> evaluateBlock
    * add comments about LC_ALL and use charToRaw to test UTF-8 strings
    * minimize travis crand and github pkg downloads
    * remove travis comments
    * added news item about sourcing code only once
    * bold **must use**
    * add default appveyor
    Co-authored-by: Xianying Tan <>
    Co-authored-by: Barret Schloerke <>
Commits on Nov 5, 2018
  1. atheriel - remove connection close workaround (#318, #332)

    schloerke committed Nov 5, 2018
    * Removes the httpuv connection: close workaround.
    This has been fixed since at least httpuv version 1.4.0.
    * update test file that isn't tested
  2. test that variables defined after a function may be used within the f…

    schloerke committed Nov 5, 2018
    …unction (#331)
    * test that variables defined after a function may be used within the function
    Test for #330
    * updated unit test to test for how many times a plumber file or endpoint was sourced
Commits on Oct 29, 2018
  1. do all the branches!

    schloerke committed Oct 29, 2018
  2. Add Appveyor testing (#326)

    schloerke committed Oct 29, 2018
    * init appveyor
    * move to init
    * attempt to use build matrix
  3. Protect from unsafe JSON parsing behavior. (#325)

    trestletech committed Oct 29, 2018
    * Protect from unsafe JSON parsing behavior.
    I believe the only way that this could have been exploited would be if the API used encrypted cookies and an attacker knew the encryption key.
    We were already sniffing for JSON by reading the first char and matching against '{', so we wouldn't have been vulnerable to any attack in standard usage.
Commits on Oct 5, 2018
  1. use `inherits(obj, "xxx")` and `expect_s3_class(obj, "xxx")` rather t…

    shrektan authored and schloerke committed Oct 5, 2018
    …han "xxx" %in% class(obj) (#313)
    * use inherits() and expect_is() rather than "xxx" %in% class(obj)
    * use expect_s3_class() rather than expect_is()
Commits on Aug 24, 2018
  1. Multiline POST body collapsed (#297)

    robertdj authored and schloerke committed Aug 24, 2018
Commits on Aug 16, 2018
  1. Install plumber from CRAN in top level Docker file (#292)

    mtoto authored and schloerke committed Aug 16, 2018
    * install plumber from CRAN
    * added back github install commented out
Commits on Aug 7, 2018
  1. Swagger support for recursive router mounts (#280)

    schloerke committed Aug 7, 2018
    * update to generate swagger docs for mounted routers
    * update swagger doc generation to recursively walk mounted routers
    * add test for swaggerFile paths and clone endpointEntry
    * prepareSwaggerEndpoints should use entries and not nested entries within endpoints
    * Collect endpoint entries, not nested entries within endpoints that contain filter structure
    use small helper methods to deal with slashes
    For the endgame of swagger docs, filter information is not needed and should be removed to not misrepresent that it does exist.
    A true "flatten router" method should be implemented.  Then, swaggerFileWalkMountsInternal will become `flatten(pr)$endpoints`
    * add swaggerFile recursive mounts tests
    multiple entries
    static file
    parameter in path
    nested mounts
    trailing slash in route
    * add news item for #274
    * tag bradleyhd in news
    * document
    * use regular roxygen version
Commits on Jun 5, 2018
  1. Bump to dev (odd) version

    schloerke committed Jun 5, 2018
  2. Bump to dev (odd) version

    schloerke committed Jun 5, 2018
Commits on Jun 4, 2018
  1. Release v0.4.6 (#268)

    schloerke committed Jun 4, 2018
    * bump version
    * add check steps and tweak reelase steps
    * update docker file to pandoc 2.2-1 like travis-ci
    * add revdep checks
    * add rhub script
    * add revdep output
    * adjust release steps
    * copy cran comments from another pkg
    * on windows, files that end with a '/' do not exist (and will have a different error)
    * update cran comments
    * rhub note
    * spelling
    * add note in cran comments about mac port 8000
  2. Body encoding (#259, #264)

    schloerke committed Jun 4, 2018
    This should fix #153.  I added a test to validate that it does handle encoding issues, also I tested locally on my windows partition that it was broken and isn't now. 
    #153: Cannot POST in UTF-8 under windows
    #259: Body Encoding
    * setting encoding to fix windows problems
    * changing where setting encoding to ease testing
    * adding test for encoding
    * fixing encoding test (windows botched commit)
    * fixing bad assumption that everything is UTF-8, now checking if the body is character and looking for charset
    * adding a test for postBodyFilter
    * natural collate order
    * lints
    Co-authored-by: Jeremy Farrell @farrjere
  3. Smaller test include html file and avoid stomping test file (#265)

    schloerke committed Jun 4, 2018
    * move include test.html to test-html.html and update appropriate include route file
    prevents updating of file for every tweak done within pandoc or code. Test is there to see if html is returned, not compiled the exact same way
    * remove all css and js (bloat) as test is only testing if the file is returned
  4. Handle non base64 encoded javascript from pandoc (#263)

    schloerke committed Jun 4, 2018
    * Javascript is not being encoded by default anymore. New lines must be preserved.
    Checking for base64 encoded images is still valid for the htmlwidgets test to make sure it is self contained.
    "SelfContained: don't use data URIs for script or style.": jgm/pandoc@7c0a80c
Commits on May 18, 2018
  1. Give somebody else a turn in the spotlight.

    trestletech committed May 18, 2018
Commits on May 10, 2018
  1. Update example to avoid DOS

    trestletech committed May 10, 2018
  2. Arrow nits (#260)

    trestletech committed May 10, 2018
  3. RStudio integration work (#258)

    gtritchie authored and trestletech committed May 10, 2018
    * Report swagger url via function passed to run
    * also read swagger.url from 'plumber.swagger.url' option
    * rename swagger callback parameter to swaggerCallback
    * New project template and bump version
    * copy over plumber.R instead of writing via code
Commits on Apr 10, 2018
  1. Support Swagger on remote DO instances. (#234)

    trestletech committed Apr 10, 2018
Commits on Mar 30, 2018
Commits on Feb 5, 2018
  1. Value forwarding (#235)

    trestletech committed Feb 5, 2018
    * Better test of value forwarding.
    * Ensure that hooks can modify values
    As per the docs, if a hook takes a parameter named `value`, then its returned value should override the incoming value. Otherwise, the value should be sent through unchanged.
Commits on Jan 30, 2018
  1. Correct typo in setSerializer() (#233)

    cw25 authored and trestletech committed Jan 30, 2018
Commits on Jan 23, 2018
  1. Add tags to swagger specification (#230)

    svdwoude authored and trestletech committed Jan 23, 2018
    * parse @tag from endpoint and store as vector
    * add tags list item to plumberEndpoint
    * parse and add tag definition
    * don't add empty tag property by default
    * tags of endpoints with one tag should be boxed during JSON conversion
    * convert underscores to spaces to allow for tag-names with whitespaces
    * throw error on empty and duplicate tag
    * test for duplicate tags
    * include @apiTag to "parseGlobals works" test
    * underscore-to-space translation feels like a little too much magic
    * added stringsAsFactors=FALSE
    * multiple tag definitions for tests
    * test for redundant tag definitions
    * adding comments
    * Update DESCRIPTION, NEWS, and swagger example
    * fix comment typo
    * updating email
Commits on Jan 17, 2018
  1. Add support for PATCH verb (#228)

    cw25 authored and trestletech committed Jan 17, 2018
    Helpful for those of us who use PATCH to differentiate partial resource update operations
Commits on Jan 8, 2018
  1. Note that jug development has been discontinued

    trestletech committed Jan 8, 2018
Commits on Dec 7, 2017
  1. Support `.` in characters and negative numbers (#213)

    etiennebr authored and trestletech committed Dec 7, 2017
Commits on Dec 4, 2017
  1. Note extra step in NEWS

    trestletech committed Dec 4, 2017