diff go/server.go @ 12:240752cbe11b

db-upload.(by go)
author pyon@macmini
date Tue, 13 Nov 2018 21:11:20 +0900
parents 82f9af6aa7e4
children f5ffc34f045a
line wrap: on
line diff
--- a/go/server.go	Mon Nov 12 19:35:50 2018 +0900
+++ b/go/server.go	Tue Nov 13 21:11:20 2018 +0900
@@ -1,7 +1,7 @@
 /*
  server.go  : server-program.
- Version    : 1.1
- Last Change: 2018-10-29 月 14:58:19.
+ Version    : 1.3
+ Last Change: 2018-11-13 火 08:19:52.
 
  install to: server_root/
 
@@ -32,7 +32,7 @@
 )
 
 func init() {
-	version = "1.2"	// log version
+	version = "1.3"	// manage-db version
 	port = ":3910"
     server_root = filepath.Dir( os.Args[0] )
 	logfile = filepath.Join( server_root, "rsearcher.log" )
@@ -57,6 +57,7 @@
 	fmt.Println( "server start [", server, "] ( program version", version, ")" )
 	http.HandleFunc( "/",       handler        )
 	http.HandleFunc( "/upload", upload_handler )
+	http.HandleFunc( "/mngdb/", mngdb_handler  )
 	log.Fatal( http.ListenAndServe( server, nil ) )
 }
 
@@ -98,6 +99,26 @@
 	w.Write( []byte( fmt.Sprintf( "%d bytes are recieved.\n", n ) ) )
 }
 
+func mngdb_handler( w http.ResponseWriter, r *http.Request ) {
+	fmt.Println( "[access]", r.RemoteAddr, "|", time.Now().Format( "2006-01-02 15:04" ), "|", "/mngdb" )
+	write_log( "[access] " + r.RemoteAddr + "manage-db" )
+	db := r.URL.Path[ len( "/mngdb/" ): ]
+
+	file := filepath.Join( server_root, "db", db )
+
+	f, err := os.Create( file )
+	if err != nil {
+		http.NotFound( w, r )
+		return
+	}
+	_, err = io.Copy( f, r.Body )
+	if err != nil {
+		http.NotFound( w, r )
+		return
+	}
+	f.Close()
+}
+
 func write_log( msg string ) {
 	f, err := os.OpenFile( logfile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644 )
 	if err != nil {