گو ریسٹی
Go Resty ایک گو لینگویج کی لائبریری ہے جو RESTful API کلائنٹس بنانے کے لئے ہے۔ یہ ایک مختصر اور طاقتور API فراہم کرتا ہے جو ڈویلپرز کو آسانی سے HTTP درخواستیں بھیجنے اور جوابات کا سامنا کرنے کی اجازت دیتا ہے۔
خصوصیات
- GET، POST، PUT، DELETE، HEAD، PATCH، OPTIONS، اور دیگر درخواست کے طریقے کا کمال
- سادہ اور قلاباز دسترستم اور درخواست کے طریقے کی تنظیمات
- درخواست باڈی
string
،[]byte
،struct
،map
،slice
، اورio.Reader
کی قسم ہوسکتی ہے- خود بخود
Content-Type
کی دریافت -
io.Reader
کے لئے غیر بفر سماج براعظم - مڈیر و درخواست انفرادی میں
*http.Request
اور زندہRequest.RawRequest
کے ذریعہ پہنچاۓ۔ -
Request.RawRequest.GetBody()
کے ذریعہ درخواست باڈی کے کئے متعدد پڑھ لینے کی اجازت دیتا ہے
- خود بخود
- ریسپانس اوبجیکٹ کیساتھ زیادہ امکانات فراہم کرتا ہے
- ریسپانس کو
[]byte
سطح -response.Body()
پر پہنچاانا، یاstring
-response.String()
- ریسپانس وقت کی دریافت کرنا
response.Time()
اور وصول ہونے کا وقتresponse.ReceivedAt()
- ریسپانس کو
- خود بخود انکوڈ اور ڈیکوڈ مواد کی قسمیں جیسے
JSON
اورXML
- اگر
Content-Type
ہیڈر اورstruct/map
پیرامیٹرات دیے نہیں گئے ہوں تو پیش فرضاًJSON
پر کرتا ہے - JSON انکوڈ/ڈیکوڈ اور XML انکوڈ/ڈیکوڈ کو بائیپاس اختیارآپکس کرنے کے اوپشن فراہم کرتا ہے
- اگر
- ایک یا ایک سے زیادہ فائلوں کو
multipart/form-data
کے ذریعہ آسان اپلوڈ کرنا- فائلوں کی مواد کی خود بخود کی دریافت
- دوبارہ کوشش اور دوبارہ کوشش کی حالت کا پشتیبانی میکانیزما و دوبارہ کوشش کی حالت کی فنکشن اشاروں کے لئے
- HTTP اور REST کلائنٹ میں مڈیر و ریسپانس کی سپورٹ کے لئے
-
Request.SetContext
کو سپورٹ کرتا ہے -
BasicAuth
اورBearer
ٹوکنز کے لئے اختیارات تصدیق - تمام درخواست خاص یا مخصوص درخواستوں کے لئے مطالبہ
ContentLength
قیمت ترتیب دیتا ہے - کسٹم روٹ سرٹیفیکیٹ اور کلائنٹ سرٹیفیکیٹ
- مستقیم طریقے سے HTTPریسپانس کو فائل میں ڈاؤن لوڈ/سیو کرنا، شبیہ
curl -o
کمانڈ کی طرح - کوکیز کے لئے درخواست اور CookieJar کی سپورٹ
- ہوسٹ یو آر ایل کی بجائے ایسآروی ریکارڈ پر مبنی درخواستوں کی سپورٹ
- کلائنٹ کی ترتیبات جیسے
Timeout
،RedirectPolicy
،Proxy
،TLSClientConfig
،Transport
، وغیرہ - Resty ڈیزائن
- کلائنٹ سطح پر منتخب اور ترتیبات
- درخواست اور ریسپانس کے لئے مڈیر و ہوسٹ
- خلق کے ملٹیپل کلائنٹس کو فراہم کرتا ہے، یہاں تک کہ چاہتے ہوءے
resty.New()
کا استعمال ہوسکتا ہے
- متوازیت کے لئے Goroutine محفوظ
- ڈیبگ موڈ - صاف اور دولتمند لاگ دکھائیں
- گولی کھاتے ہیں - گو اس پر خود بخود اصلاح کرتا ہے، ریسٹی میں سنگین اضافیات کا حل کرنا
-
HTTP/2
اورHTTP/1.1
کے ساتھ مطابقت - Bazel سپورٹ
- Resty کے ٹیسٹ کی آسان مویکنگ فراہم کرتا ہے
سپورٹ کردہ گو ورزنز
go1.16
اور اس سے اوپر کا استعمال کرنا مشورہ دیا گیا ہے۔
از Resty "v1.10.0" ورژن شروع ہوکر go modules
کی سپورٹ کرتی ہے۔
Resty ورژن v2
اور اس سے اوپر کی صورت میں، یہ مکمل طور پر go modules پیکیج شائع کرنے کو سپورٹ کرتی ہے۔ یہ /vN
سافکس درآمد کو سمجھنےوالے Go ورزن کا استعمال کرنا ضروری ہے:
- 1.9.7+
- 1.10.3+
- 1.11+