|
@ -106,19 +106,20 @@ type CacheController struct { |
|
|
*/ |
|
|
*/ |
|
|
|
|
|
|
|
|
type RequestHandler interface { |
|
|
type RequestHandler interface { |
|
|
Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) |
|
|
|
|
|
|
|
|
Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) error |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
type RequestHandleFunc func(ctx RequestContext, w http.ResponseWriter, r *http.Request) |
|
|
|
|
|
|
|
|
type RequestHandleFunc func(ctx RequestContext, w http.ResponseWriter, r *http.Request) error |
|
|
|
|
|
|
|
|
func (f RequestHandleFunc) Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) { |
|
|
|
|
|
f(ctx, w, r) |
|
|
|
|
|
|
|
|
func (f RequestHandleFunc) Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) error { |
|
|
|
|
|
return f(ctx, w, r) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
type SimpleHandleFunc func(w http.ResponseWriter, r *http.Request) |
|
|
type SimpleHandleFunc func(w http.ResponseWriter, r *http.Request) |
|
|
|
|
|
|
|
|
func (f SimpleHandleFunc) Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) { |
|
|
|
|
|
|
|
|
func (f SimpleHandleFunc) Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) error { |
|
|
f(w, r) |
|
|
f(w, r) |
|
|
|
|
|
return nil |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
type RestletHandler interface { |
|
|
type RestletHandler interface { |
|
@ -127,7 +128,7 @@ type RestletHandler interface { |
|
|
|
|
|
|
|
|
type RestletFunc func(ctx RequestContext, params Parameters, queries Parameters, data []byte) (*RestletResult, error) |
|
|
type RestletFunc func(ctx RequestContext, params Parameters, queries Parameters, data []byte) (*RestletResult, error) |
|
|
|
|
|
|
|
|
func (f RestletFunc) Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) { |
|
|
|
|
|
|
|
|
func (f RestletFunc) Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) error { |
|
|
var params = GetUrlParams(r) |
|
|
var params = GetUrlParams(r) |
|
|
var queries = GetUrlQueries(r) |
|
|
var queries = GetUrlQueries(r) |
|
|
var data []byte |
|
|
var data []byte |
|
@ -139,7 +140,7 @@ func (f RestletFunc) Handle(ctx RequestContext, w http.ResponseWriter, r *http.R |
|
|
if r.Body != nil { |
|
|
if r.Body != nil { |
|
|
if bs, e := ioutil.ReadAll(r.Body); nil != e { |
|
|
if bs, e := ioutil.ReadAll(r.Body); nil != e { |
|
|
FailureResponse(w, http.StatusBadRequest, e.Error()) |
|
|
FailureResponse(w, http.StatusBadRequest, e.Error()) |
|
|
return |
|
|
|
|
|
|
|
|
return e |
|
|
} else { |
|
|
} else { |
|
|
data = bs |
|
|
data = bs |
|
|
_ = r.Body.Close() |
|
|
_ = r.Body.Close() |
|
@ -151,6 +152,7 @@ func (f RestletFunc) Handle(ctx RequestContext, w http.ResponseWriter, r *http.R |
|
|
} else { |
|
|
} else { |
|
|
FailureResponse(w, http.StatusInternalServerError, ee.Error()) |
|
|
FailureResponse(w, http.StatusInternalServerError, ee.Error()) |
|
|
} |
|
|
} |
|
|
|
|
|
return e |
|
|
} else if nil != ret { |
|
|
} else if nil != ret { |
|
|
var retCode int |
|
|
var retCode int |
|
|
var data interface{} |
|
|
var data interface{} |
|
@ -173,15 +175,17 @@ func (f RestletFunc) Handle(ctx RequestContext, w http.ResponseWriter, r *http.R |
|
|
default: |
|
|
default: |
|
|
JsonReponse(data, retCode, w) |
|
|
JsonReponse(data, retCode, w) |
|
|
} |
|
|
} |
|
|
|
|
|
return nil |
|
|
} else { |
|
|
} else { |
|
|
FailureResponse(w, http.StatusInternalServerError, "nil return") |
|
|
FailureResponse(w, http.StatusInternalServerError, "nil return") |
|
|
|
|
|
return e |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
type RestletFuncEx func(ctx RequestContext, params Parameters, queries Parameters, data []byte) (int, interface{}, error) |
|
|
type RestletFuncEx func(ctx RequestContext, params Parameters, queries Parameters, data []byte) (int, interface{}, error) |
|
|
|
|
|
|
|
|
func (f RestletFuncEx) Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) { |
|
|
|
|
|
RestletFunc(func(ctx RequestContext, params Parameters, queries Parameters, data []byte) (*RestletResult, error) { |
|
|
|
|
|
|
|
|
func (f RestletFuncEx) Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) error { |
|
|
|
|
|
return RestletFunc(func(ctx RequestContext, params Parameters, queries Parameters, data []byte) (*RestletResult, error) { |
|
|
var ret RestletResult |
|
|
var ret RestletResult |
|
|
if c, d, e := f(ctx, params, queries, data); nil != e { |
|
|
if c, d, e := f(ctx, params, queries, data); nil != e { |
|
|
return nil, e |
|
|
return nil, e |
|
@ -194,12 +198,12 @@ func (f RestletFuncEx) Handle(ctx RequestContext, w http.ResponseWriter, r *http |
|
|
}).Handle(ctx, w, r) |
|
|
}).Handle(ctx, w, r) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
type RawletFunc func(ctx RequestContext, params Parameters, queries Parameters, w http.ResponseWriter, r *http.Request) |
|
|
|
|
|
|
|
|
type RawletFunc func(ctx RequestContext, params Parameters, queries Parameters, w http.ResponseWriter, r *http.Request) error |
|
|
|
|
|
|
|
|
func (f RawletFunc) Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) { |
|
|
|
|
|
|
|
|
func (f RawletFunc) Handle(ctx RequestContext, w http.ResponseWriter, r *http.Request) error { |
|
|
var params = GetUrlParams(r) |
|
|
var params = GetUrlParams(r) |
|
|
var queries = GetUrlQueries(r) |
|
|
var queries = GetUrlQueries(r) |
|
|
f(ctx, params, queries, w, r) |
|
|
|
|
|
|
|
|
return f(ctx, params, queries, w, r) |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
type TaskContext interface { |
|
|
type TaskContext interface { |
|
|