mirror of https://github.com/goproxyio/goproxy
				
				
				
			add accees timestamp
							parent
							
								
									39b23e3b6c
								
							
						
					
					
						commit
						9d4ae6116f
					
				
							
								
								
									
										15
									
								
								main.go
								
								
								
								
							
							
						
						
									
										15
									
								
								main.go
								
								
								
								
							| 
						 | 
					@ -9,6 +9,7 @@ import (
 | 
				
			||||||
	"os/exec"
 | 
						"os/exec"
 | 
				
			||||||
	"path/filepath"
 | 
						"path/filepath"
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"github.com/goproxyio/goproxy/module"
 | 
						"github.com/goproxyio/goproxy/module"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
| 
						 | 
					@ -35,16 +36,11 @@ func main() {
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func getPathSuffix(path string) string {
 | 
					 | 
				
			||||||
	suffixIndex := strings.LastIndex(path, ".")
 | 
					 | 
				
			||||||
	return path[suffixIndex:]
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
func mainHandler(inner http.Handler) http.Handler {
 | 
					func mainHandler(inner http.Handler) http.Handler {
 | 
				
			||||||
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 | 
						return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 | 
				
			||||||
		fmt.Fprintf(os.Stdout, "goproxy: %s download %s\n", r.RemoteAddr, r.URL.Path)
 | 
							fmt.Fprintf(os.Stdout, "goproxy: %s %s download %s\n", r.RemoteAddr, time.Now().Format("2006-01-02 15:04:05"), r.URL.Path)
 | 
				
			||||||
		if _, err := os.Stat(filepath.Join(cacheDir, r.URL.Path)); err != nil {
 | 
							if _, err := os.Stat(filepath.Join(cacheDir, r.URL.Path)); err != nil {
 | 
				
			||||||
			suffix := getPathSuffix(r.URL.Path)
 | 
								suffix := pathSuffix(r.URL.Path)
 | 
				
			||||||
			if suffix == ".info" || suffix == ".mod" || suffix == ".zip" {
 | 
								if suffix == ".info" || suffix == ".mod" || suffix == ".zip" {
 | 
				
			||||||
				mod := strings.Split(r.URL.Path, "/@v/")
 | 
									mod := strings.Split(r.URL.Path, "/@v/")
 | 
				
			||||||
				if len(mod) != 2 {
 | 
									if len(mod) != 2 {
 | 
				
			||||||
| 
						 | 
					@ -79,6 +75,11 @@ func mainHandler(inner http.Handler) http.Handler {
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func pathSuffix(path string) string {
 | 
				
			||||||
 | 
						suffixIndex := strings.LastIndex(path, ".")
 | 
				
			||||||
 | 
						return path[suffixIndex:]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func goGet(path, version, suffix string, w http.ResponseWriter, r *http.Request) error {
 | 
					func goGet(path, version, suffix string, w http.ResponseWriter, r *http.Request) error {
 | 
				
			||||||
	cmd := exec.Command("go", "get", "-d", path+"@"+version)
 | 
						cmd := exec.Command("go", "get", "-d", path+"@"+version)
 | 
				
			||||||
	stdout, err := cmd.StdoutPipe()
 | 
						stdout, err := cmd.StdoutPipe()
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue