Action definitions for this controller.
Angular application's server side API support.
Server side implementation for Angular apps.
Angular.js Cross Site Request Forgery (XSRF) Protection support.
Angular.js Cross Site Request Forgery (XSRF) Protection support.
https://docs.angularjs.org/api/ng/service/$http#cross-site-request-forgery-xsrf-protection
Angular.js Cross Site Request Forgery (XSRF) Protection support.
Angular.js Cross Site Request Forgery (XSRF) Protection support.
https://docs.angularjs.org/api/ng/service/$http#cross-site-request-forgery-xsrf-protection
beforeAction/afterAction support.
beforeAction/afterAction support.
http://guides.rubyonrails.org/action_controller_overview.html
CORS(Cross-Origin Resource Sharing) support.
CORS(Cross-Origin Resource Sharing) support.
http://www.w3.org/TR/cors/ http://enable-cors.org/
Provides Cross-Site Request Forgery (CSRF) protection.
Chunked Response (Transfer-Encoding: chunked).
SkinnyEnv support.
Explicit redirect method support.
File upload feature.
File upload feature.
When using file upload feature, we cannot use SkinnyController(= serlvet Filter) due to Servlet restriction.
// src/main/scala/controller/FileUploadController.scala class FileUploadController extends SkinnyServlet with FileUploadFeature { def form = render("/fileUpload/form") def submit = { fileParams.get("file") match { case Some(file) => println(new String(file.get())) case None => println("file not found") } redirect(url(Controllers.fileUpload.formUrl)) } // src/main/scala/controller/Controllers.scala object fileUpload extends FileUploadController with Routes { val formUrl = get("/fileupload")(form).as('form) val submitUrl = post("/fileupload/submit")(submit).as('submit) } fileUpload.mount(ctx)
Easy-to-use Flash support.
Provides formParams/formMultiParams.
Merging JSON request body into Scalatra params.
Merging JSON request body into Scalatra params.
When you'd like to avoid merging JSON request body into params in some actions, please separate controllers.
Easy-to-use default/session-based Locale configuration.
Provides queryParams/queryMultiParams.
Request scope support.
Scalate implementation of TemplateEngineSupport.
Scalate implementation of TemplateEngineSupport.
This is basically same as Scalatra's Scalate support, but the convention of template file path is inspired by Ruby on Rails.
render("/members/index")
The above code expects "src/main/webapp/WEB-INF/views/members/index.html.ssp" by default.
If you need to use scaml instead,
override lazy val scalateExtension: String = "scaml"
And then, Skinny expects "src/main/webapp/WEB-INF/views/members/index.html.scaml"
Filtering sensitive parameters.
Filtering sensitive parameters.
config.filter_parameters in Rails.
Supports snake_case'd keys for parameter names.
TemplateEngine support for Skinny app.
Enables time logging.
Validation support for Skinny app.
X-Content-Type-Options header support.
X-Content-Type-Options header support.
- https://blogs.msdn.com/b/ie/archive/2008/09/02/ie8-security-part-vi-beta-2-update.aspx?Redirected=true - http://msdn.microsoft.com/en-us/library/ie/gg622941(v=vs.85).aspx - https://github.com/blog/1482-heads-up-nosniff-header-support-coming-to-chrome-and-firefox - https://www.owasp.org/index.php/List_of_useful_HTTP_headers
X-Frame-Options header support
X-Frame-Options header support
- https://www.owasp.org/index.php/List_of_useful_HTTP_headers
X-XSS-Protection header support
X-XSS-Protection header support
- https://www.owasp.org/index.php/List_of_useful_HTTP_headers
Action definitions for this controller. These definitions will be used for beforeAction/afterAction's only/except.