इस प्रोजेक्ट के बारे में

Iris Go भाषा के लिए एक वेब फ्रेमवर्क है। README अंग्रेजी में लिखा गया है और वर्तमान v12 लाइन के साथ-साथ नियोजित v14 रिलीज़ का पूर्वावलोकन कवर करता है। v12 के लिए वर्णित मुख्य क्षमताएं: - सर्वर पुश और एम्बेडेड डेटा सहित HTTP/2 समर्थन। - एक राउटर जो :uuid, :string और :int जैसे मानक प्रकारों के साथ डायनेमिक पाथ पैरामीटर स्वीकार करता है, और कस्टम पैरामीटर प्रकारों को परिभाषित करने की अनुमति देता है। - बिल्ट-इन मिडलवेयर जैसे एक्सेस लॉग, बेसिक ऑथ, CORS, gRPC, hCaptcha और reCaptcha एंटी-बॉट चेक, JWT, मेथड ओवरराइड, मॉनिटर, pprof, रेट लिमिट, रिकवरी, रिक्वेस्ट ID और रीराइट। - API वर्जनिंग, मॉडल-व्यू-कंट्रोलर (mvc पैकेज) और MVC, हैंडलर्स और API राउटर के लिए डिपेंडेंसी इंजेक्शन। - WebSockets, gRPC और ऑटोमैटिक HTTPS। - स्थानीय ऐप को इंटरनेट पर एक्सपोज़ करने के लिए बिल्ट-इन ngrok समर्थन। - रिस्पॉन्स कंप्रेशन (gzip, deflate, brotli, snappy, s2) और एक कंप्रेशन मिडलवेयर। - व्यू इंजन जिनमें HTML, Django, Handlebars और Pug/Jade शामिल हैं। - कस्टम फ़ाइल सर्वर और एक WebDAV सर्वर। - कैश, अंतर्राष्ट्रीयकरण (i18n, sitemap), सत्र और एक टेस्टिंग सूट। - समृद्ध रिस्पॉन्स: HTML, टेक्स्ट, Markdown, XML, YAML, बाइनरी, JSON, JSONP, प्रोटोकॉल बफ़र्स, MessagePack, कंटेंट नेगोशिएशन, स्ट्रीमिंग और सर्वर-सेंट इवेंट्स। - समृद्ध रिक्वेस्ट बाइंडिंग: URL क्वेरी, हेडर, फॉर्म, टेक्स्ट, XML, YAML, बाइनरी, JSON, वैलिडेशन, प्रोटोकॉल बफ़र्स और MessagePack। - README में उदाहरण कोड iris.New() के साथ बनाए गए एक न्यूनतम ऐप, app.Get के माध्यम से पंजीकृत रूट और app.Listen(":8080") को दिखाता है। README बताता है कि _examples डायरेक्टरी में 285 उदाहरण उपलब्ध हैं और कम्युनिटी चैट और डोनेशन पेजों के लिंक दिए गए हैं। नियोजित v14 (जिसे प्रोजेक्ट के इतिहास की सबसे बड़ी रिलीज़ के रूप में वर्णित किया गया है, जिसकी कोई सार्वजनिक रिलीज़ तिथि नहीं है और एक नया इम्पोर्ट पाथ है ताकि v12 कोड प्रभावित न हो): - एक कंपाइल-चेक्ड एप्लिकेशन बिल्डर (iris.NewBuilder) जो CORS, कंप्रेशन, एक्सेस लॉगिंग, हेल्थ एंडपॉइंट, एरर मैपिंग, सर्विसेज और API ग्रुप्स को एक चेन में जोड़ता है जिसमें स्टेप ऑर्डर अनिवार्य है। - rest हेल्पर्स जैसे rest.ReadJSON[T], rest.OK, rest.NoContent, rest.Count, rest.Created और rest.Paginated जो डिकोडिंग, वैलिडेशन और एरर रेंडरिंग को हैंडलर बॉडी से बाहर ले जाते हैं। - डोमेन-एरर से HTTP-रिस्पॉन्स मैपिंग को एक बार घोषित करने के लिए एक rest/errors पैकेज, जिसमें लॉगिंग और JSON या व्यू के रूप में रेंडरिंग के लिए वैकल्पिक कलेक्टर्स हैं। - MVC से परे उपलब्ध डिपेंडेंसी इंजेक्शन, जिसमें Build() के दौरान चलने वाला एक Init(ctx) हुक और शटडाउन पर बंद होने वाले क्लोजेबल रिसोर्सेज हैं; hero पैकेज को dep और rest द्वारा बदल दिया गया है। - पैकेज बदलाव: sessions, cache, websocket, i18n, view और versioning मिडलवेयर बन जाते हैं; mvc अब fileserver, sitemap और apigraph कंट्रोलर्स के साथ controller के अंतर्गत आता है; व्यू इंजन कार्यान्वयन iris-contrib/views में चले जाते हैं। - लगभग तीस बंडल किए गए मिडलवेयर, जिनमें httpcost (प्रति रिक्वेस्ट समय, मेमोरी और CPU), bodylimit, compress, counter, referrer, geolocation, ipaccess और servertiming जैसे नए मिडलवेयर शामिल हैं। - iris.Options पार्शियल लिटरल्स के माध्यम से कॉन्फ़िगरेशन, जिसमें Bind पर्यावरण चर SERVER_CONFIG या फ़ाइल से YAML लोड करता है। - Party को Router और ctx.URLParam को ctx.Query().Get के रूप में पुन: नामकरण, जो एक माइग्रेशन गाइड में प्रलेखित है। - डिफ़ॉल्ट रूप से सुरक्षित सत्र कुकीज़ (Secure, SameSite=Lax), प्रत्येक रीड पाथ पर रिक्वेस्ट बॉडी लिमिट, और रेट लिमिटिंग और Logout में पहले वर्णित समस्याओं के लिए फिक्स। - रिपॉजिटरी में 23-अध्याय की पुस्तक, एक गेटिंग-स्टार्टेड ट्यूटोरियल, एक v12 माइग्रेशन गाइड और एक जनरेटेड विकि के रूप में दस्तावेज़ीकरण की योजना है। README Iris को तेज़, सरल लेकिन पूर्ण-विशेषता वाला बताता है, और दीर्घकालिक सामुदायिक समर्थन पर जोर देता है; यह स्वयं माप रिपोर्ट करने के बजाय बाहरी बेंचमार्क और प्रशंसापत्र पेजों के लिंक प्रदान करता है।