ProductPromotion
Logo

Scala

made by https://0x3d.site

GitHub - com-lihaoyi/cask: Cask: a Scala HTTP micro-framework
Cask: a Scala HTTP micro-framework. Contribute to com-lihaoyi/cask development by creating an account on GitHub.
Visit Site

GitHub - com-lihaoyi/cask: Cask: a Scala HTTP micro-framework

GitHub - com-lihaoyi/cask: Cask: a Scala HTTP micro-framework

Cask 0.9.4: a Scala HTTP micro-framework Gitter Chat Patreon

object MinimalApplication extends cask.MainRoutes{
  @cask.get("/")
  def hello() = {
    "Hello World!"
  }

  @cask.post("/do-thing")
  def doThing(request: cask.Request) = {
    request.text().reverse
  }

  initialize()
}

Cask is a simple Scala web framework inspired by Python's Flask project. It aims to bring simplicity, flexibility and ease-of-use to Scala webservers, avoiding cryptic DSLs or complicated asynchrony. Cask makes it easy to set up a website, backend server, or REST API using Scala

If you use Cask and like it, you will probably enjoy the following book by the Author:

Hands-on Scala has uses Requests-Scala extensively throughout the book, and has the entirety of Chapter 14: Simple Web and API Servers dedicated to the library. Hands-on Scala is a great way to level up your skills in Scala in general and Cask in particular.

Cask is profiled using the JProfiler Java Profiler, courtesy of EJ Technologies

Changelog

0.9.4

  • Allow overlap between static routes and wildcards #134

0.9.3

  • Introduce @postJsonCached to allow reference to the original body payload in @postJson #123

0.9.2

  • Properly decode URL parameters when passed as path segments or query params #114

  • Preserve leading slash when resolving static paths #111

  • Add cask.QueryParams type to allow route methods to take arbitrary query parameters, add cask.RemainingPathSegments as replacement for subpath = true #108 #109 #110

0.9.1

  • Update org.xerial:sqlite-jdbc library in examples to version 3.41.2.1 to
    support Apple Silicon
  • @staticResources and @staticFiles decorators now automatically infer content types based on file extension

0.9.0

  • Update uPickle to 3.0.0
  • Update Geny to 1.0.0
  • Update Scala 3 to 3.2.2
  • Update Scala.js to 1.13.0
  • Update SourceCode to 0.3.0
  • Update PPrint to 0.8.1
  • Update Castor to 0.3.0

0.8.3

  • Fix error reporting for invalid routes #70

0.8.2

  • Bump uPickle to 1.6.0

0.8.1

  • Publish Cask for Scala 2.12 again

0.8.0

  • Improve handling on 404/405 responses with unsupported methods (#52)

0.7.21

  • Fix example project zips

0.7.14

  • Update Castor to 0.1.8
  • Add @cask.options decorator

0.7.11

  • Build for Scala 3.0.0

0.7.10

  • Return 405 for unsupported HTTP methods
  • Upgrade Scala versions to 2.13.5 and 3.0.0-RC3

0.7.9

  • Add support for Scala 3.0.0-RC2

0.7.8

  • Upgrade undertow
  • Add support for Scala 3.0.0-M2

0.7.7

  • Fix published examples

0.7.6

  • Add support for Dotty (to be Scala 3)

0.7.4

  • Bump Mill version to 0.8.0

0.7.3

  • Make Cask actorContext explicitly passed into every Routes case class

0.6.5

  • Add support for geny.Writable#httpContentType and geny.Writable#contentLength

0.5.7

  • Add endpoints for delete and patch
  • Allow arbitrary HTTP methods

0.5.2

  • Bump uPickle, Requests versions

0.3.7

  • Add SameSite cookie attribute
  • Fix bug in default parameters of cask routes

0.3.6

0.3.3

  • Separate cask-actor into a separate artifact, documented separately as Cask Actors

0.3.2

  • Support for Scala 2.13.2

0.3.1

  • Mismatched decorator types applied to a single method is now a compile error

  • staticFiles and staticResources now allows you to specify response headers

  • Allow cask.decorators.compress to be used as a cask.Routes or cask.Main decorator without crashing on websocket responses

  • Allow decorators to be defined and used for non-cask.Response results

0.3.0

  • Fix crashes in cask.WebsocketClientImpl

0.2.9

  • Provide a simple cross-platform builtin websocket client in cask.WsClient

0.2.8

  • Make Routes#log implicit

0.2.7

  • Cross-publish cask.util for Scala.js

0.2.6

  • Embed concurrent.ExecutionContext.global in cask.Routes by default, to be overriden if necessary

0.2.5

  • Internal refactoring to clean up routing logic

0.2.4

  • Standardize on a basic cask.Logger interface
  • Create a simple actor-based API for handling websockets in cask.WsHandler and cask.WsActor

0.2.3

  • cask.Response is now covariant

0.2.2

  • Use standard ./mill bootstrap script

0.2.1

  • Support for Scala 2.13.0

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory