mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
switch to glog debugging
This commit is contained in:
parent
c38eee73ca
commit
a234789c59
106
go/weed/weed.go
106
go/weed/weed.go
|
@ -2,15 +2,11 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"code.google.com/p/weed-fs/go/glog"
|
"code.google.com/p/weed-fs/go/glog"
|
||||||
"encoding/json"
|
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
"net"
|
|
||||||
"net/http"
|
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"text/template"
|
"text/template"
|
||||||
|
@ -175,106 +171,6 @@ func exit() {
|
||||||
os.Exit(exitStatus)
|
os.Exit(exitStatus)
|
||||||
}
|
}
|
||||||
|
|
||||||
func exitIfErrors() {
|
|
||||||
if exitStatus != 0 {
|
|
||||||
exit()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func writeJson(w http.ResponseWriter, r *http.Request, obj interface{}) (err error) {
|
|
||||||
w.Header().Set("Content-Type", "application/javascript")
|
|
||||||
var bytes []byte
|
|
||||||
if r.FormValue("pretty") != "" {
|
|
||||||
bytes, err = json.MarshalIndent(obj, "", " ")
|
|
||||||
} else {
|
|
||||||
bytes, err = json.Marshal(obj)
|
|
||||||
}
|
|
||||||
if err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
callback := r.FormValue("callback")
|
|
||||||
if callback == "" {
|
|
||||||
_, err = w.Write(bytes)
|
|
||||||
} else {
|
|
||||||
if _, err = w.Write([]uint8(callback)); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if _, err = w.Write([]uint8("(")); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
fmt.Fprint(w, string(bytes))
|
|
||||||
if _, err = w.Write([]uint8(")")); err != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// wrapper for writeJson - just logs errors
|
|
||||||
func writeJsonQuiet(w http.ResponseWriter, r *http.Request, obj interface{}) {
|
|
||||||
if err := writeJson(w, r, obj); err != nil {
|
|
||||||
glog.V(0).Infof("error writing JSON %s: %s", obj, err.Error())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
func writeJsonError(w http.ResponseWriter, r *http.Request, err error) {
|
|
||||||
m := make(map[string]interface{})
|
|
||||||
m["error"] = err.Error()
|
|
||||||
writeJsonQuiet(w, r, m)
|
|
||||||
}
|
|
||||||
|
|
||||||
func debug(params ...interface{}) {
|
func debug(params ...interface{}) {
|
||||||
if *IsDebug {
|
glog.V(4).Infoln(params)
|
||||||
glog.V(0).Infoln(params)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
func secure(whiteList []string, f func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request) {
|
|
||||||
return func(w http.ResponseWriter, r *http.Request) {
|
|
||||||
if len(whiteList) == 0 {
|
|
||||||
f(w, r)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
host, _, err := net.SplitHostPort(r.RemoteAddr)
|
|
||||||
if err == nil {
|
|
||||||
for _, ip := range whiteList {
|
|
||||||
if ip == host {
|
|
||||||
f(w, r)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
writeJsonQuiet(w, r, map[string]interface{}{"error": "No write permisson from " + host})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func parseURLPath(path string) (vid, fid, filename, ext string, isVolumeIdOnly bool) {
|
|
||||||
switch strings.Count(path, "/") {
|
|
||||||
case 3:
|
|
||||||
parts := strings.Split(path, "/")
|
|
||||||
vid, fid, filename = parts[1], parts[2], parts[3]
|
|
||||||
ext = filepath.Ext(filename)
|
|
||||||
case 2:
|
|
||||||
parts := strings.Split(path, "/")
|
|
||||||
vid, fid = parts[1], parts[2]
|
|
||||||
dotIndex := strings.LastIndex(fid, ".")
|
|
||||||
if dotIndex > 0 {
|
|
||||||
ext = fid[dotIndex:]
|
|
||||||
fid = fid[0:dotIndex]
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
sepIndex := strings.LastIndex(path, "/")
|
|
||||||
commaIndex := strings.LastIndex(path[sepIndex:], ",")
|
|
||||||
if commaIndex <= 0 {
|
|
||||||
vid, isVolumeIdOnly = path[sepIndex+1:], true
|
|
||||||
return
|
|
||||||
}
|
|
||||||
dotIndex := strings.LastIndex(path[sepIndex:], ".")
|
|
||||||
vid = path[sepIndex+1 : commaIndex]
|
|
||||||
fid = path[commaIndex+1:]
|
|
||||||
ext = ""
|
|
||||||
if dotIndex > 0 {
|
|
||||||
fid = path[commaIndex+1 : dotIndex]
|
|
||||||
ext = path[dotIndex:]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,8 +14,6 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
var IsDebug *bool
|
|
||||||
|
|
||||||
func writeJson(w http.ResponseWriter, r *http.Request, obj interface{}) (err error) {
|
func writeJson(w http.ResponseWriter, r *http.Request, obj interface{}) (err error) {
|
||||||
w.Header().Set("Content-Type", "application/javascript")
|
w.Header().Set("Content-Type", "application/javascript")
|
||||||
var bytes []byte
|
var bytes []byte
|
||||||
|
@ -58,9 +56,7 @@ func writeJsonError(w http.ResponseWriter, r *http.Request, err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func debug(params ...interface{}) {
|
func debug(params ...interface{}) {
|
||||||
if *IsDebug {
|
glog.V(4).Infoln(params)
|
||||||
glog.V(0).Infoln(params)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func secure(whiteList []string, f func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request) {
|
func secure(whiteList []string, f func(w http.ResponseWriter, r *http.Request)) func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
Loading…
Reference in a new issue