init
This commit is contained in:
commit
46c4edbc67
65
main.go
Normal file
65
main.go
Normal file
@ -0,0 +1,65 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"io"
|
||||
"log"
|
||||
"mime/multipart"
|
||||
"net/http"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
|
||||
func dump(w http.ResponseWriter, req *http.Request) {
|
||||
log.Println("start")
|
||||
start := time.Now()
|
||||
buffer := make([]byte, 2048)
|
||||
reader, err := req.MultipartReader()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
var part *multipart.Part
|
||||
err = nil
|
||||
bytesRead := 0
|
||||
for err = nil; err != io.EOF; part, err = reader.NextPart() {
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
if part != nil {
|
||||
for {
|
||||
n, err := part.Read(buffer)
|
||||
bytesRead += n
|
||||
if err == io.EOF || n == 0 {
|
||||
break
|
||||
}
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
d := time.Since(start)
|
||||
log.Printf("stop, %d bytes in %v (%f mb/s)", bytesRead, d, float64(bytesRead*8)/d.Seconds()/1e6)
|
||||
}
|
||||
|
||||
func main() {
|
||||
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
|
||||
flag.Parse()
|
||||
|
||||
port := 7777
|
||||
|
||||
hostname, err := os.Hostname()
|
||||
if err != nil {
|
||||
log.Fatal("problem getting hostname:", err)
|
||||
}
|
||||
log.Printf("serving on: http://%s:%d/", hostname, port)
|
||||
addr := fmt.Sprintf(":%d", port)
|
||||
|
||||
http.HandleFunc("/", dump)
|
||||
|
||||
err = http.ListenAndServe(addr, nil)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user