comparison go/server.go @ 4:06342fc544e4

mouse gesture.
author pyon@macmini
date Mon, 15 Oct 2018 20:07:38 +0900
parents db4813125eb8
children 82f9af6aa7e4
comparison
equal deleted inserted replaced
3:db4813125eb8 4:06342fc544e4
1 /* 1 /*
2 server.go : server-program. 2 server.go : server-program.
3 Version : 1.0 3 Version : 1.1
4 Last Change: 2018-10-03 水 10:22:04. 4 Last Change: 2018-10-12 金 14:37:48.
5 5
6 install to: server_root/ 6 install to: server_root/
7 7
8 server_root/server 8 server_root/server
9 + db/ 9 + db/
24 ) 24 )
25 25
26 var server string 26 var server string
27 var port string 27 var port string
28 var server_root string 28 var server_root string
29 var version string
29 30
30 func init() { 31 func init() {
31 port = ":3910" 32 port = ":3910"
32 server_root = filepath.Dir( os.Args[0] ) 33 server_root = filepath.Dir( os.Args[0] )
34 version = "1.1"
33 } 35 }
34 36
35 func main() { 37 func main() {
36 38
37 // setting IP-Address & Port 39 // setting IP-Address & Port
46 } 48 }
47 } 49 }
48 } 50 }
49 51
50 // start Web-server 52 // start Web-server
51 fmt.Println( "server start [", server, "]" ) 53 fmt.Println( "server start [", server, "] ( program version", version, ")" )
52 http.HandleFunc( "/", handler ) 54 http.HandleFunc( "/", handler )
55 http.HandleFunc( "/upload", upload_handler )
53 log.Fatal( http.ListenAndServe( server, nil ) ) 56 log.Fatal( http.ListenAndServe( server, nil ) )
54 } 57 }
55 58
56 func handler( w http.ResponseWriter, r *http.Request ) { 59 func handler( w http.ResponseWriter, r *http.Request ) {
57 file := filepath.Join( server_root, filepath.FromSlash( r.URL.Path ) ) 60 file := filepath.Join( server_root, filepath.FromSlash( r.URL.Path ) )
62 return 65 return
63 } 66 }
64 defer f.Close() 67 defer f.Close()
65 io.Copy( w, f ) 68 io.Copy( w, f )
66 } 69 }
70
71 func upload_handler( w http.ResponseWriter, r *http.Request ) {
72 fmt.Println( "[access]", r.RemoteAddr, "|", time.Now().Format( "2006-01-02 15:04" ), "|", "/upload" )
73 now := time.Now().Format( "20060102_150405" )
74 file := filepath.Join( server_root, "upload", now )
75 f, err := os.Create( file )
76 if err != nil {
77 http.NotFound( w, r )
78 return
79 }
80 n, err := io.Copy( f, r.Body )
81 if err != nil {
82 http.NotFound( w, r )
83 return
84 }
85 f.Close()
86 w.Write( []byte( fmt.Sprintf( "%d bytes are recieved.\n", n ) ) )
87 }
88