mirror of
https://github.com/labstack/echo.git
synced 2025-03-21 21:27:04 +02:00
Engine#Multipart,#FormFile. Closes #394.
Signed-off-by: Vishal Rana <vr@labstack.com>
This commit is contained in:
parent
ac25928fd0
commit
7942e4a77b
24
context.go
24
context.go
@ -189,7 +189,7 @@ func (c *context) Render(code int, name string, data interface{}) (err error) {
|
||||
}
|
||||
c.response.Header().Set(ContentType, TextHTMLCharsetUTF8)
|
||||
c.response.WriteHeader(code)
|
||||
c.response.Write(buf.Bytes())
|
||||
_, err = c.response.Write(buf.Bytes())
|
||||
return
|
||||
}
|
||||
|
||||
@ -197,7 +197,7 @@ func (c *context) Render(code int, name string, data interface{}) (err error) {
|
||||
func (c *context) HTML(code int, html string) (err error) {
|
||||
c.response.Header().Set(ContentType, TextHTMLCharsetUTF8)
|
||||
c.response.WriteHeader(code)
|
||||
c.response.Write([]byte(html))
|
||||
_, err = c.response.Write([]byte(html))
|
||||
return
|
||||
}
|
||||
|
||||
@ -205,7 +205,7 @@ func (c *context) HTML(code int, html string) (err error) {
|
||||
func (c *context) String(code int, s string) (err error) {
|
||||
c.response.Header().Set(ContentType, TextPlainCharsetUTF8)
|
||||
c.response.WriteHeader(code)
|
||||
c.response.Write([]byte(s))
|
||||
_, err = c.response.Write([]byte(s))
|
||||
return
|
||||
}
|
||||
|
||||
@ -225,7 +225,7 @@ func (c *context) JSON(code int, i interface{}) (err error) {
|
||||
func (c *context) JSONBlob(code int, b []byte) (err error) {
|
||||
c.response.Header().Set(ContentType, ApplicationJSONCharsetUTF8)
|
||||
c.response.WriteHeader(code)
|
||||
c.response.Write(b)
|
||||
_, err = c.response.Write(b)
|
||||
return
|
||||
}
|
||||
|
||||
@ -238,9 +238,13 @@ func (c *context) JSONP(code int, callback string, i interface{}) (err error) {
|
||||
}
|
||||
c.response.Header().Set(ContentType, ApplicationJavaScriptCharsetUTF8)
|
||||
c.response.WriteHeader(code)
|
||||
c.response.Write([]byte(callback + "("))
|
||||
c.response.Write(b)
|
||||
c.response.Write([]byte(");"))
|
||||
if _, err = c.response.Write([]byte(callback + "(")); err != nil {
|
||||
return
|
||||
}
|
||||
if _, err = c.response.Write(b); err != nil {
|
||||
return
|
||||
}
|
||||
_, err = c.response.Write([]byte(");"))
|
||||
return
|
||||
}
|
||||
|
||||
@ -260,8 +264,10 @@ func (c *context) XML(code int, i interface{}) (err error) {
|
||||
func (c *context) XMLBlob(code int, b []byte) (err error) {
|
||||
c.response.Header().Set(ContentType, ApplicationXMLCharsetUTF8)
|
||||
c.response.WriteHeader(code)
|
||||
c.response.Write([]byte(xml.Header))
|
||||
c.response.Write(b)
|
||||
if _, err = c.response.Write([]byte(xml.Header)); err != nil {
|
||||
return
|
||||
}
|
||||
_, err = c.response.Write(b)
|
||||
return
|
||||
}
|
||||
|
||||
|
4
echo.go
4
echo.go
@ -201,7 +201,7 @@ func New() (e *Echo) {
|
||||
|
||||
// Logger
|
||||
e.logger = log.New("echo")
|
||||
e.logger.SetLevel(log.ERROR)
|
||||
e.logger.SetLevel(log.FATAL)
|
||||
|
||||
return
|
||||
}
|
||||
@ -253,7 +253,7 @@ func (e *Echo) DefaultHTTPErrorHandler(err error, c Context) {
|
||||
if !c.Response().Committed() {
|
||||
c.String(code, msg)
|
||||
}
|
||||
e.logger.Error(err)
|
||||
e.logger.Debug(err)
|
||||
}
|
||||
|
||||
// SetHTTPErrorHandler registers a custom Echo.HTTPErrorHandler.
|
||||
|
@ -2,6 +2,7 @@ package engine
|
||||
|
||||
import (
|
||||
"io"
|
||||
"mime/multipart"
|
||||
"time"
|
||||
|
||||
"github.com/labstack/gommon/log"
|
||||
@ -30,6 +31,8 @@ type (
|
||||
Method() string
|
||||
Body() io.ReadCloser
|
||||
FormValue(string) string
|
||||
FormFile(string) (*multipart.FileHeader, error)
|
||||
MultipartForm() (*multipart.Form, error)
|
||||
}
|
||||
|
||||
// Response defines an interface for HTTP response.
|
||||
|
@ -6,6 +6,7 @@ import (
|
||||
"bytes"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"mime/multipart"
|
||||
)
|
||||
|
||||
import (
|
||||
@ -66,7 +67,15 @@ func (r *Request) Body() io.ReadCloser {
|
||||
}
|
||||
|
||||
func (r *Request) FormValue(name string) string {
|
||||
return ""
|
||||
return string(r.RequestCtx.FormValue(name))
|
||||
}
|
||||
|
||||
func (r *Request) FormFile(name string) (*multipart.FileHeader, error) {
|
||||
return r.RequestCtx.FormFile(name)
|
||||
}
|
||||
|
||||
func (r *Request) MultipartForm() (*multipart.Form, error) {
|
||||
return r.RequestCtx.MultipartForm()
|
||||
}
|
||||
|
||||
func (r *Request) reset(c *fasthttp.RequestCtx, h engine.Header, u engine.URL) {
|
||||
|
@ -2,6 +2,7 @@ package standard
|
||||
|
||||
import (
|
||||
"io"
|
||||
"mime/multipart"
|
||||
"net/http"
|
||||
|
||||
"github.com/labstack/echo/engine"
|
||||
@ -78,6 +79,15 @@ func (r *Request) FormValue(name string) string {
|
||||
return r.Request.FormValue(name)
|
||||
}
|
||||
|
||||
func (r *Request) FormFile(name string) (*multipart.FileHeader, error) {
|
||||
_, fh, err := r.Request.FormFile(name)
|
||||
return fh, err
|
||||
}
|
||||
|
||||
func (r *Request) MultipartForm() (*multipart.Form, error) {
|
||||
return r.Request.MultipartForm, nil
|
||||
}
|
||||
|
||||
func (r *Request) reset(req *http.Request, h engine.Header, u engine.URL) {
|
||||
r.Request = req
|
||||
r.header = h
|
||||
|
@ -2,6 +2,7 @@ package test
|
||||
|
||||
import (
|
||||
"io"
|
||||
"mime/multipart"
|
||||
"net/http"
|
||||
|
||||
"github.com/labstack/echo/engine"
|
||||
@ -79,6 +80,16 @@ func (r *Request) FormValue(name string) string {
|
||||
return r.request.FormValue(name)
|
||||
}
|
||||
|
||||
func (r *Request) FormFile(name string) (*multipart.FileHeader, error) {
|
||||
_, fh, err := r.request.FormFile(name)
|
||||
return fh, err
|
||||
}
|
||||
|
||||
func (r *Request) MultipartForm() (*multipart.Form, error) {
|
||||
m := r.request.MultipartForm
|
||||
return m, nil
|
||||
}
|
||||
|
||||
func (r *Request) Object() interface{} {
|
||||
return r.request
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user