यह अध्याय Go Iris framework को पेश करता है और स्थायी फ़ाइलों को कैसे संभाला जाए। कभी-कभी प्रोजेक्ट में कुछ स्थायी फ़ाइलें होती हैं जिन्हें उपयोगकर्ता द्वारा सीधे पहुंचने की आवश्यकता होती है। इसे कैसे सेटअप किया जाए?
Iris स्थायी फ़ाइलें प्रकट करता है
func main() {
app := iris.New()
// पृष्ठ प्रतीक सेट करें
app.Favicon("./resources/favicon.ico")
// स्थायी फ़ाइलों के लिए पथ सेट करें और URL रूट को बाँधें
app.HandleDir("/assets", iris.Dir("./assets"))
app.Listen(":8080")
}
HandleDir मेथड एक तीसरा वैकल्पिक पैरामीटर DirOptions को स्वीकार करता है:
type DirOptions struct {
// डिफ़ॉल्ट "/index.html" है। अगर अनुरोध पथ **/*/$IndexName से समाप्त होता है, तो यह **/*(/) पर निर्देशित करता है,
// जिससे यह एक अन्य हैंडलर की or by the framework मुफ्त आपके द्वारा पंजीकृत किया गया एक और हैंडलर की सेवा होती है
// अगर अंत-विकसितकर्ता ने इसे मैन्युअल रूप से संभाला नहीं है।
IndexName string
// PushTargets फ़ाइल नामों को (मान नकिले गए) सेव करने के लिए बिना अतिरिक्त ग्राहक अनुरोध (HTTP/2 Push) के (नकल के कुंज से बिना) सेव करने के लिए जब विशिष्ट अनुरोध पथ (मैप की कुंज बिना प्रीफ़िक्स) पर अनुरोधित पथ (मैप की कुंज बिना प्रीफ़िक्स)खो नहीं है (किसी `IndexFile`) या कब यह करना चाहिए.
// PushTargetsRegexp `PushTargets` की भांति है परंतु इसमें एक संबंधित रेजेक्ट मान्य है जो इससे तुलना की जाएगी
// जिसको फ़ाइलें के सभी नीचे वाले निर्देशिका के साथ तुलना की जाएगी (रूट सूर्यास्त)।
// `IndexName` सेट किया जाना चाहिए।
// मिसाल
// "/": regexp.MustCompile("((.*).js|(.*).css|(.*).ico)$")
// देखें भी "iris.MatchCommonAssets"।
PushTargetsRegexp map[string]*regexp.Regexp
// सेंचिंग को मेमोरी में कैश और पूर्व-संकुचित फ़ाइलें सेव करने के लिए सक्षम करने के लिए।
Cache DirCacheOptions
// जब फ़ाइलें संकुचित स्थिति में सेव की जानी चाहिए।
Compress bool
// यदि `IndexName` नहीं मिला है, तो वर्तमान विनती निर्देशिका की फ़ाइल सूची।
ShowList bool
// अगर `ShowList` सत्य है, तो इस फ़ंक्शन का उपयोग वर्तमान अनुरोधित निर्देशिका (निर्देशिका) की फ़ाइल सूची दिखाने के लिए किया जाएगा
// डिफ़ॉल्ट के बजाय।
DirList DirListFunc
// डाउनलोड और स्थानीय फ़ाइलों में सहेजें।
Attachments Attachments
// स्वेच्छिक मान्यताधिकार जो प्रत्येक अनुरोध संसाधन के माध्यम से पुनरावृत्ति करने के लिए उपयोग करने के लिए।
AssetValidator func(ctx *context.Context, name string) bool
}