Update workflows #194
							
								
								
									
										19
									
								
								handler/spa/spa.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								handler/spa/spa.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					package spa
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import (
 | 
				
			||||||
 | 
						"io/fs"
 | 
				
			||||||
 | 
						"net/http"
 | 
				
			||||||
 | 
						"strings"
 | 
				
			||||||
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Handler serve files from dir and redirect to index if file not exists
 | 
				
			||||||
 | 
					var Handler = func(prefix string, dir fs.FS) http.HandlerFunc {
 | 
				
			||||||
 | 
						return func(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
 | 
							f := http.StripPrefix(prefix, http.FileServer(http.FS(dir)))
 | 
				
			||||||
 | 
							if _, err := fs.Stat(dir, strings.TrimPrefix(r.RequestURI, prefix)); err != nil {
 | 
				
			||||||
 | 
								r.RequestURI = prefix
 | 
				
			||||||
 | 
								r.URL.Path = prefix
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							f.ServeHTTP(w, r)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user