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 ) ) )
+}
+