0Pricing
Sveltejs Academy · درس

خطاف handle(): وسيط للطلبات

اعترض كل طلب وارد، وعدّل event.locals، واستدعِ resolve()

خطاف handle(): وسيط للطلبات درس مجاني في Sveltejs Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Sveltejs Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.

خطافات الخادم

توجد الخطافات في src/hooks.server.js. وتعمل مع كل طلب إلى الخادم.

تصدير handle

صدّر دالة غير متزامنة باسم handle تستقبل { event, resolve }.

export async function handle({ event, resolve }) {
  // do stuff before
  const res = await resolve(event);
  // do stuff after
  return res;
}

تعديل Event

عيّن event.locals لإتاحة البيانات لـ load ونقاط النهاية.

event.locals.user = await getUser(event.cookies.get("sid"));

فحص الاستجابة أو استبدالها

بعد resolve(event)، يمكنك فحص الاستجابة أو تعديلها.

تسجيل الطلبات

يُعد خطاف handle مكانًا مناسبًا لإضافة تسجيل الطلبات أو مقاييس التوقيت.

طبقة المصادقة

اقرأ ملفات تعريف الارتباط، واجلب المستخدم، وأرفقه بـ locals. وبذلك يمكن للصفحات وواجهات API الوثوق بـ locals.

تركيب الخطافات

يمكن تغليف الاهتمامات المتعددة في دوال مساعدة ودمجها باستخدام sequence().

ترويسات CORS

أضف ترويسات CORS أثناء إعادة الاستجابة لواجهات API التي تخدم مصادر أخرى.

الأداء

تعمل الخطافات مع كل طلب. حافظ على سرعتها وتوافقها مع العمليات غير المتزامنة.

تخطي الأصول الثابتة

يتخطى SvelteKit الخطافات للملفات الثابتة. لذلك يعمل خطافك مع مسارات التطبيق فقط.

TypeScript

استخدم النوع Handle من @sveltejs/kit لتنفيذات ذات أنواع محددة.

تحقق سريع

أين توجد خطافات الخادم؟

مراجعة

يعترض خطاف handle في hooks.server.js كل طلب. املأ locals لتستخدمه الشفرة اللاحقة.

الأسئلة الشائعة

هل درس «خطاف handle(): وسيط للطلبات» مجاني؟

نعم — نص درس «خطاف handle(): وسيط للطلبات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Sveltejs Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Sveltejs Academy 4 دروس في المجموع.

ماذا ستتعلم في «خطاف handle(): وسيط للطلبات»؟

اعترض كل طلب وارد، وعدّل event.locals، واستدعِ resolve() تتمرن على Sveltejs Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Sveltejs Academy؟

لا تُشترط خبرة سابقة. Sveltejs Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «خطاف handle(): وسيط للطلبات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Sveltejs Academy هذا؟

نعم. كل درس في Sveltejs Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. خطاف handle(): وسيط للطلبات
  2. ‏handleError لتسجيل أخطاء الخادم
  3. خطاف init()
  4. ‏Sequence() لتركيب الخطافات
← العودة إلى Sveltejs Academy