اس باب میں Go Iris فریم ورک کا تعارف اور استاتک فائلز کو کیسے ہینڈل کیا جائے، کا تعارف کیا گیا ہے۔ کبھی کبھار پروجیکٹ میں کچھ سٹیٹک فائلز ہوتی ہیں جو صارف کی رسائی کے لیے براہ راست بھیجنے کی ضرورت ہوتی ہے۔ اسے کیسے سیٹ آپ کیا جائے؟
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 کے ساتھ ختم ہوتا ہے تو یہ **/*(/) پر ریڈائریکٹ ہو جاتا ہے،
// جو خود بہترین ہینڈلر کی طرف منتقل ہو جاتا ہے جو کہ فریم ورک کے طریقے سے خود بخود رجسٹر ہوتا ہے جو ختم سے مقابلہ نہیں کرتا تو.
// اگر انتہائی منفردی نہیں کی گئی ہوتی۔
IndexName string
// PushTargets فائل نام (مطابقتی) بلا اضافی کلائنٹ ریکویسٹس (HTTP/2 Push) کے بغیر سروس کے لیے جب خاص ریکویسٹ راستہ کا نام (مین کے بغیر مین سے پریکس کی مراد ہے) خواستہ رہے
// مندرجہ ذیل پر مطابقتی خواستہ راستہ (نقل کے بغیر کی مپ بینکی گئی) ڈائریکٹری نہیں ہوتی (ایک `IndexFile`) یا کب شاید. PushTargetsRegexp `PushTargets` کی طرح ہے لیکن یہ ایک regexp قبول کرتا ہے جو کہ ڈائریکٹری کے تمام فائل کے ساتھ (ریکرسیولی) کی تفتیش کرے گا (یہ صرف اور صرف `IndexName` کی ترتیب کرنی چاہئیے۔)
// مثال
// "/": regexp.MustCompile("((.*).js|(.*).css|(.*).ico)$")
// تفتیش کریں iris.MatchCommonAssets کے.
PushTargetsRegexp map[string]*regexp.Regexp
// کیشنگ کو میموری میں کیش کرنے اور پری-کمپریسڈ فائلز کو فعال کرنے کے لیے۔
Cache DirCacheOptions
// جب فائلز کو ایک مضبوط حالت میں سروس کرنا چاہئیے۔
Compress bool
// کیا ریکویسٹوں کی موجودہ ڈائریکٹری کے فائلز کی فہرست دکھانی چاہئیے
ShowList bool
// اگر `ShowList` صحیح ہے تو اس تفکر کا استعمال ہوتا ہے کہ موجودہ درخواست کرنے والی ڈائریکٹری (ڈائر) کی فائلوں کی فہرست کو ڈسپلے کرنے کے لیے
// ادائیچ۔زا۔شوباز زا مشکل۔شوبازہ.۔
DirList DirListFunc
// ڈاؤن لوڈ کریں اور مقامی فائلوں میں محفوظ کریں۔
Attachments Attachments
// اختیاری ویلیڈیٹر جو ہر ریکویسٹ کے وسائل پر گرنا استعمال کرنے کے لیے۔
AssetValidator func(ctx *context.Context, name string) bool
}