إنتقل إلى المحتوى الرئيسي

Request():setHeader()

تضيف ترويسة (header) جديدة لطلبات HTTP. تتيح لك هذه الدالة إضافة ترويسات HTTP مخصّصة إلى طلبك قبل إرساله.

التوقيع

setHeader(key: string, value: string): Request

المعاملات

المعاملاتالنوعالوصف
keystringاسم الترويسة
valuestringقيمة الترويسة

القيمة المعادة

Request - يُعيد كائن Request لاستخدامه في تسلسل الدوال (method chaining)

الوصف

تضيف الدالة setHeader() ترويسة HTTP مخصّصة إلى الطلب. الترويسات هي بيانات وصفية توفّر معلومات إضافية عن الطلب، مثل نوع المحتوى أو المصادقة أو وكيل المستخدم. يمكنك استدعاء هذه الدالة عدة مرات لإضافة ترويسات متعددة.

أمثلة

ضبط ترويسة المصادقة

-- Add Bearer token for API authentication
local response = Request("https://api.example.com/data")
:setHeader("Authorization", "Bearer your-token-here")
:get()

ضبط نوع المحتوى

-- Set JSON content type for POST requests
local response = Request("https://api.example.com/users")
:setHeader("Content-Type", "application/json")
:setParameter("name", "John Doe")
:setParameter("email", "john@example.com")
:post()

ترويسات متعددة

-- Set multiple headers for a request
local response = Request("https://api.example.com/protected")
:setHeader("Authorization", "Bearer token123")
:setHeader("Content-Type", "application/json")
:setHeader("Accept", "application/json")
:setHeader("User-Agent", "MyApp/1.0")
:get()

ترويسات مخصّصة

-- Add custom application-specific headers
local response = Request("https://api.example.com/process")
:setHeader("X-API-Key", "your-api-key")
:setHeader("X-Request-ID", "unique-request-identifier")
:setHeader("X-Client-Version", "2.1.0")
:post()

ترويسات بيانات النموذج

-- Set headers for form data submission
local response = Request("https://example.com/login")
:setHeader("Content-Type", "application/x-www-form-urlencoded")
:setParameter("username", "user")
:setParameter("password", "pass")
:post()

ترويسات HTTP الشائعة

اسم الترويسةالاستخدام النموذجيمثال
Authorizationرموز المصادقة"Bearer token123"
Content-Typeصيغة متن الطلب"application/json"
Acceptتفضيل صيغة الاستجابة"application/json"
User-Agentتعريف العميل"MyApp/1.0"
X-API-Keyمصادقة API"your-api-key"
Content-Lengthحجم متن الطلب (يُضبط عادةً تلقائيًا)"256"

ملاحظات

  • الترويسات غير حساسة لحالة الأحرف، لكن من المعتاد استخدام صيغة Header-Case (مثل Content-Type)
  • تُعيد الدالة كائن Request، مما يسمح بتسلسل الدوال (method chaining)
  • قد تُضبط بعض الترويسات تلقائيًا بواسطة عميل HTTP
  • تُحسب ترويسات معيّنة مثل Content-Length عادةً تلقائيًا
  • احذر مع ترويسات المصادقة ولا تكشف معلومات حساسة
  • يمكنك استبدال الترويسات بضبط نفس اسم الترويسة عدة مرات