इस प्रोजेक्ट के बारे में
chi, Go HTTP सेवाओं को बनाने के लिए एक हल्का, मुहावरेदार और कंपोज़ेबल राउटर है, जो विशेष रूप से बड़े REST API प्रोजेक्ट्स के लिए उपयुक्त है जिन्हें बढ़ने के साथ रखरखाव योग्य बनाए रखने की आवश्यकता होती है।
मुख्य डिज़ाइन सिद्धांतों में प्रोजेक्ट संरचना की स्पष्टता, रखरखाव क्षमता, मानक net/http हैंडलर का उपयोग, डेवलपर उत्पादकता, और जटिल सिस्टमों को छोटे मॉड्यूलर भागों में विघटित करने की क्षमता शामिल है।
कोर राउटर 1000 पंक्तियों से कम कोड का है और Go मानक लाइब्रेरी के अलावा इसकी कोई बाहरी निर्भरता नहीं है। यह अनुरोध-स्कोप्ड मानों, रद्दीकरण सिग्नलिंग, और हैंडलर श्रृंखलाओं में टाइमआउट के लिए Go के context पैकेज (Go 1.7 से उपलब्ध) पर बनाया गया है।
रूटिंग नामित URL पैरामीटर (जैसे, `/users/{userID}`), वाइल्डकार्ड (`/admin/*`), रेगुलर एक्सप्रेशन पैरामीटर, रूट समूह, सबराउटर, और मिडलवेयर स्टैकिंग का समर्थन करती है। राउटर आंतरिक रूप से Patricia radix trie का उपयोग करता है।
एक व्यापक वैकल्पिक मिडलवेयर पैकेज (`github.com/go-chi/chi/v5/middleware`) अनुरोध ID इंजेक्शन, लॉगिंग, पैनिक से रिकवरी, टाइमआउट हैंडलिंग, क्लाइंट IP डिटेक्शन, रेट थ्रॉटलिंग, कम्प्रेशन, बेसिक ऑथ, कंटेंट-टाइप एनफोर्समेंट, कैश रोकथाम, pprof एकीकरण, और बहुत कुछ प्रदान करता है। कोई भी मानक net/http मिडलवेयर भी संगत है।
chi इकोसिस्टम में संबंधित पैकेजों में cors, docgen (स्वचालित रूट दस्तावेज़ीकरण), jwtauth (JWT प्रमाणीकरण), hostrouter (डोमेन-आधारित रूटिंग), httplog, httprate, httptracer, httpvcr, और stampede (HTTP अनुरोध कोएलेसिंग) शामिल हैं।
यह प्रोजेक्ट Pressly, Cloudflare, Heroku, 99Designs, और अन्य द्वारा उत्पादन में उपयोग किया जाता है। v5 ने go.mod मॉड्यूल पथ समर्थन जोड़ा।
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.