Request():setHeader()
تضيف ترويسة (header) جديدة لطلبات HTTP. تتيح لك هذه الدالة إضافة ترويسات HTTP مخصّصة إلى طلبك قبل إرساله.
التوقيع
setHeader(key: string, value: string): Request
المعاملات
| المعاملات | النوع | الوصف |
|---|---|---|
| key | string | اسم الترويسة |
| value | string | قيمة الترويسة |
القيمة المعادة
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عادةً تلقائيًا - احذر مع ترويسات المصادقة ولا تكشف معلومات حساسة
- يمكنك استبدال الترويسات بضبط نفس اسم الترويسة عدة مرات