Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitdf71c54

Browse files
committed
Use a map to serve files
1 parentd24d33d commitdf71c54

File tree

2 files changed

+20
-24
lines changed

2 files changed

+20
-24
lines changed

‎server/serve_files.go‎

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ const longCacheControl = "public, max-age=31536000, immutable"
2323
constdisabledCacheControl="no-cache, no-store, must-revalidate"
2424

2525
typeFilestruct {
26-
Pathstring
2726
Assetstring
2827
GzipAsset []byte
2928
Hashstring
@@ -45,7 +44,7 @@ func newH2PushAsset(name string) h2PushAsset {
4544
}
4645

4746
var (
48-
files[]*File
47+
files=map[string]*File{}
4948

5049
indexStylesheetstring
5150
indexScripts []string
@@ -120,7 +119,6 @@ func (d *Dispatch) initFileServer() {
120119
}
121120

122121
file:=&File{
123-
Path:"/"+assetName,
124122
Asset:asset,
125123
ContentType:contentTypes[filepath.Ext(assetName)],
126124
CacheControl:longCacheControl,
@@ -136,7 +134,7 @@ func (d *Dispatch) initFileServer() {
136134
file.GzipAsset=gzipAsset(data)
137135
}
138136

139-
files=append(files,file)
137+
files["/"+assetName]=file
140138
}
141139

142140
serviceWorker=decompressedAsset("sw.js")
@@ -219,6 +217,11 @@ func (d *Dispatch) serveFiles(w http.ResponseWriter, r *http.Request) {
219217
return
220218
}
221219

220+
iffile,ok:=files[r.URL.Path];ok {
221+
d.serveFile(w,r,file)
222+
return
223+
}
224+
222225
ifr.URL.Path=="/sw.js" {
223226
w.Header().Set("Cache-Control",disabledCacheControl)
224227
w.Header().Set("Content-Type","text/javascript")
@@ -234,13 +237,6 @@ func (d *Dispatch) serveFiles(w http.ResponseWriter, r *http.Request) {
234237
return
235238
}
236239

237-
for_,file:=rangefiles {
238-
ifr.URL.Path==file.Path {
239-
d.serveFile(w,r,file)
240-
return
241-
}
242-
}
243-
244240
d.serveIndex(w,r)
245241
}
246242

‎server/server.go‎

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,19 @@ func (d *Dispatch) ServeHTTP(w http.ResponseWriter, r *http.Request) {
166166
return
167167
}
168168

169-
ifstrings.HasPrefix(r.URL.Path,"/ws") {
169+
ifr.URL.Path=="/init" {
170+
referer,err:=url.Parse(r.Header.Get("Referer"))
171+
iferr!=nil {
172+
fail(w,http.StatusInternalServerError)
173+
return
174+
}
175+
176+
state:=d.handleAuth(w,r,true,true)
177+
data:=getIndexData(r,referer.EscapedPath(),state)
178+
179+
writeJSON(w,r,data)
180+
181+
}elseifstrings.HasPrefix(r.URL.Path,"/ws") {
170182
if!websocket.IsWebSocketUpgrade(r) {
171183
fail(w,http.StatusBadRequest)
172184
return
@@ -180,18 +192,6 @@ func (d *Dispatch) ServeHTTP(w http.ResponseWriter, r *http.Request) {
180192
}
181193

182194
d.upgradeWS(w,r,state)
183-
}elseifstrings.HasPrefix(r.URL.Path,"/init") {
184-
referer,err:=url.Parse(r.Header.Get("Referer"))
185-
iferr!=nil {
186-
fail(w,http.StatusInternalServerError)
187-
return
188-
}
189-
190-
state:=d.handleAuth(w,r,true,true)
191-
data:=getIndexData(r,referer.EscapedPath(),state)
192-
193-
writeJSON(w,r,data)
194-
195195
}else {
196196
d.serveFiles(w,r)
197197
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp