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 هو إطار عمل بسيط على شبكة الإنترنت مستوحى من مشروع Python's Flask. يهدف إلى جلب البساطة والمرونة وسهولة الاستخدام إلى خادمات الويب Scala ، وتجنب DSLs الخفي أو عدم التزامن المعقدة. Cask يجعل من السهل إعداد موقع ويب أو خادم خلفي أو REST API باستخدام Scala
إذا كنت تستخدم Cask ومحبها ، فربما تستمتع بالكتاب التالي للمؤلف:
تستخدم Hown-On Scala طلبات Scala على نطاق واسع في جميع أنحاء الكتاب ، ولديها مجمل الفصل 14: خوادم الويب البسيطة و API مخصصة للمكتبة. تعتبر التدريب العملي على Scala طريقة رائعة لزيادة مهاراتك في Scala بشكل عام و Cask على وجه الخصوص.
تم تحديد Cask باستخدام Jprofiler Java Profiler ، بإذن من EJ Technologies
@postJsonCached للسماح بالرجوع إلى حمولة الجسم الأصلية في @postJson #123فك تشفير معلمات عنوان URL بشكل صحيح عند تمريرها كقاعات للمسار أو معاملات الاستعلام #114
الحفاظ على القطع المائلة الرائدة عند حل المسارات الساكنة #111
إضافة cask.QueryParams نوع للسماح بمسارات الطريق لاتخاذ معلمات الاستعلام التعسفي ، إضافة cask.RemainingPathSegments كبديل لـ subpath = true #108 #109 #110
org.xerial:sqlite-jdbc في أمثلة على الإصدار 3.41.2.1 إلى@staticResources و @staticFiles Decorators الآن يستنتجون تلقائيًا أنواع المحتوى بناءً على امتداد الملف@cask.options ديكورactorContext تم تمريره بشكل صريح في كل فئة حالة الطرقgeny.Writable#httpContentType و geny.Writable#contentLengthdelete patchSameSitecask-actor في repo و Artifact ، https://github.com/lihaoyi/castorcask-actor إلى قطعة أثرية منفصلة ، موثقة بشكل منفصل كممثلين CASKأنواع الديكور غير المتطابقة المطبقة على طريقة واحدة هي الآن خطأ في الترجمة
يتيح لك الآن staticFiles و staticResources تحديد رؤوس الاستجابة
اسمح لاستخدام cask.decorators.compress بصفتها cask.Main cask.Routes
السماح للديكور بتعريف واستخدام نتائج عدم cask.Response
cask.WebsocketClientImplcask.WsClientRoutes#log ضمنيcask.util for scala.jsconcurrent.ExecutionContext.global في cask.Routes بشكل افتراضي ، ليتم تجاوزه إذا لزم الأمرcask.Logger الأساسيةcask.WsHandler و cask.WsActorcask.Response الآن متغير./mill Bootstrap