الوسيط البرمجي هو آلية تسمح بتشغيل الكود قبل أو بعد الكود الرئيسي في دورة حياة طلب HTTP. يمكن فهمها كخطاف في الإطار يعترض جميع الطلبات والاستجابات.
استخدام الوسط في iris
يمكنك تسجيل الوسط للمسارات من خلال الطريقة Use
في iris.
package main
// استيراد الحزمة
import "github.com/kataras/iris/v12"
func main() {
// تعريف نموذج iris
app := iris.New()
// استخدام وسيط ضغط gzip
app.Use(iris.Compression)
// إعدادات المسار
app.Get("/", func(ctx iris.Context) {
ctx.HTML("مرحبًا <strong>%s</strong>!", "العالم")
})
// الاستماع على المنفذ
app.Listen(":8080")
}
الوسيط المخصص في iris
// توقيع وظيفة الوسيط المخصص
func Logger() iris.Handler {
// العودة بالمعالج من خلال الإغلاق
return func(ctx iris.Context) {
t := time.Now()
// تعيين المعلمات
ctx.Values().Set("framework", "iris")
// المنطق قبل الطلب
ctx.Next()
// المنطق بعد الطلب
latency := time.Since(t)
log.Print(latency)
// الوصول إلى الحالة المرسلة
status := ctx.GetStatusCode()
log.Println(status)
}
}
func main() {
app := iris.New()
// تسجيل الوسيط المخصص
app.Use(Logger())
app.Get("/test", func(ctx iris.Context) {
// قراءة المعلمة التي تم تعيينها بواسطة الوسيط
framework := ctx.Values().GetString("framework")
// سيتم طباعتها: "iris"
log.Println(framework)
})
app.Listen(":8080")
}