diff go/server.go @ 3:db4813125eb8

many changes.
author pyon@macmini
date Thu, 11 Oct 2018 22:11:09 +0900
parents eaa27e4ed5be
children 06342fc544e4
line wrap: on
line diff
--- a/go/server.go	Tue Oct 02 21:20:05 2018 +0900
+++ b/go/server.go	Thu Oct 11 22:11:09 2018 +0900
@@ -1,7 +1,7 @@
 /*
  server.go  : server-program.
  Version    : 1.0
- Last Change: 2018-10-01 Mon 22:58:23.
+ Last Change: 2018-10-03 水 10:22:04.
 
  install to: server_root/
 
@@ -20,14 +20,21 @@
 	"net"
     "net/http"
 	"os"
+	"time"
 )
 
+var server string
+var port   string
+var server_root string
+
+func init() {
+	port = ":3910"
+    server_root = filepath.Dir( os.Args[0] )
+}
+
 func main() {
 
-	var server string
-    var port = ":3910"
-    var server_root = filepath.Dir (os.Args[0] )
-
+	// setting IP-Address & Port
 	addrs, err := net.InterfaceAddrs()
 	if err != nil {
 		log.Fatal( err )
@@ -40,18 +47,20 @@
 		}
 	}
 
+	// start Web-server
 	fmt.Println( "server start [", server, "]" )
-	http.HandleFunc( "/", func( w http.ResponseWriter, r *http.Request ) {
-        file := filepath.Join( server_root, filepath.FromSlash( r.URL.Path ) )
-        fmt.Println( file )
-        f, err := os.Open( file )
-        if err != nil {
-            http.NotFound( w, r )
-            return
-        }
-        defer f.Close()
-        io.Copy( w, f )
-    } )
+	http.HandleFunc( "/", handler )
 	log.Fatal( http.ListenAndServe( server, nil ) )
 }
 
+func handler( w http.ResponseWriter, r *http.Request ) {
+	file := filepath.Join( server_root, filepath.FromSlash( r.URL.Path ) )
+	fmt.Println( "[access]", r.RemoteAddr, "|", time.Now().Format( "2006-01-02 15:04" ), "|", file )
+	f, err := os.Open( file )
+	if err != nil {
+		http.NotFound( w, r )
+		return
+	}
+	defer f.Close()
+	io.Copy( w, f )
+}