Mercurial > mercurial > hgweb_rsearcher.cgi
diff go/server.go @ 4:06342fc544e4
mouse gesture.
author | pyon@macmini |
---|---|
date | Mon, 15 Oct 2018 20:07:38 +0900 |
parents | db4813125eb8 |
children | 82f9af6aa7e4 |
line wrap: on
line diff
--- a/go/server.go Thu Oct 11 22:11:09 2018 +0900 +++ b/go/server.go Mon Oct 15 20:07:38 2018 +0900 @@ -1,7 +1,7 @@ /* server.go : server-program. - Version : 1.0 - Last Change: 2018-10-03 水 10:22:04. + Version : 1.1 + Last Change: 2018-10-12 金 14:37:48. install to: server_root/ @@ -26,10 +26,12 @@ var server string var port string var server_root string +var version string func init() { port = ":3910" server_root = filepath.Dir( os.Args[0] ) + version = "1.1" } func main() { @@ -48,8 +50,9 @@ } // start Web-server - fmt.Println( "server start [", server, "]" ) - http.HandleFunc( "/", handler ) + fmt.Println( "server start [", server, "] ( program version", version, ")" ) + http.HandleFunc( "/", handler ) + http.HandleFunc( "/upload", upload_handler ) log.Fatal( http.ListenAndServe( server, nil ) ) } @@ -64,3 +67,22 @@ defer f.Close() io.Copy( w, f ) } + +func upload_handler( w http.ResponseWriter, r *http.Request ) { + fmt.Println( "[access]", r.RemoteAddr, "|", time.Now().Format( "2006-01-02 15:04" ), "|", "/upload" ) + now := time.Now().Format( "20060102_150405" ) + file := filepath.Join( server_root, "upload", now ) + f, err := os.Create( file ) + if err != nil { + http.NotFound( w, r ) + return + } + n, err := io.Copy( f, r.Body ) + if err != nil { + http.NotFound( w, r ) + return + } + f.Close() + w.Write( []byte( fmt.Sprintf( "%d bytes are recieved.\n", n ) ) ) +} +