mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	Fix serving of raw wiki files other than .md (#5814)
* Fix serving of raw wiki files other than .md Closes #4690. Closes #4395. Signed-off-by: Gabriel Silva Simões <simoes.sgabriel@gmail.com> * Simplify code at routers/repo/wiki.go Signed-off-by: Gabriel Silva Simões <simoes.sgabriel@gmail.com> * Add more files to user2/repo1.wiki for testing Signed-off-by: Gabriel Silva Simões <simoes.sgabriel@gmail.com> * Update macaron to v1.3.2 Signed-off-by: Gabriel Silva Simões <simoes.sgabriel@gmail.com> * Add tests for WikiRaw Signed-off-by: Gabriel Silva Simões <simoes.sgabriel@gmail.com> * Fix NewResponseWriter usage due to macaron update Signed-off-by: Gabriel Silva Simões <simoes.sgabriel@gmail.com> * Add raw to reserved wiki names Signed-off-by: Gabriel Silva Simões <simoes.sgabriel@gmail.com>
This commit is contained in:
		
				
					committed by
					
						
						techknowlogick
					
				
			
			
				
	
			
			
			
						parent
						
							4a747aef7b
						
					
				
				
					commit
					3b7f41f9f7
				
			
							
								
								
									
										4
									
								
								vendor/gopkg.in/macaron.v1/context.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/gopkg.in/macaron.v1/context.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -262,7 +262,7 @@ func (ctx *Context) Params(name string) string {
 | 
			
		||||
 | 
			
		||||
// SetParams sets value of param with given name.
 | 
			
		||||
func (ctx *Context) SetParams(name, val string) {
 | 
			
		||||
	if !strings.HasPrefix(name, ":") {
 | 
			
		||||
	if name != "*" && !strings.HasPrefix(name, ":") {
 | 
			
		||||
		name = ":" + name
 | 
			
		||||
	}
 | 
			
		||||
	ctx.params[name] = val
 | 
			
		||||
@@ -270,7 +270,7 @@ func (ctx *Context) SetParams(name, val string) {
 | 
			
		||||
 | 
			
		||||
// ReplaceAllParams replace all current params with given params
 | 
			
		||||
func (ctx *Context) ReplaceAllParams(params Params) {
 | 
			
		||||
	ctx.params = params;
 | 
			
		||||
	ctx.params = params
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// ParamsEscape returns escapred params result.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										4
									
								
								vendor/gopkg.in/macaron.v1/macaron.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								vendor/gopkg.in/macaron.v1/macaron.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -32,7 +32,7 @@ import (
 | 
			
		||||
	"github.com/go-macaron/inject"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
const _VERSION = "1.2.4.1123"
 | 
			
		||||
const _VERSION = "1.3.2.1216"
 | 
			
		||||
 | 
			
		||||
func Version() string {
 | 
			
		||||
	return _VERSION
 | 
			
		||||
@@ -194,7 +194,7 @@ func (m *Macaron) createContext(rw http.ResponseWriter, req *http.Request) *Cont
 | 
			
		||||
		index:    0,
 | 
			
		||||
		Router:   m.Router,
 | 
			
		||||
		Req:      Request{req},
 | 
			
		||||
		Resp:     NewResponseWriter(rw),
 | 
			
		||||
		Resp:     NewResponseWriter(req.Method, rw),
 | 
			
		||||
		Render:   &DummyRender{rw},
 | 
			
		||||
		Data:     make(map[string]interface{}),
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								vendor/gopkg.in/macaron.v1/response_writer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								vendor/gopkg.in/macaron.v1/response_writer.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -42,11 +42,12 @@ type ResponseWriter interface {
 | 
			
		||||
type BeforeFunc func(ResponseWriter)
 | 
			
		||||
 | 
			
		||||
// NewResponseWriter creates a ResponseWriter that wraps an http.ResponseWriter
 | 
			
		||||
func NewResponseWriter(rw http.ResponseWriter) ResponseWriter {
 | 
			
		||||
	return &responseWriter{rw, 0, 0, nil}
 | 
			
		||||
func NewResponseWriter(method string, rw http.ResponseWriter) ResponseWriter {
 | 
			
		||||
	return &responseWriter{method, rw, 0, 0, nil}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type responseWriter struct {
 | 
			
		||||
	method string
 | 
			
		||||
	http.ResponseWriter
 | 
			
		||||
	status      int
 | 
			
		||||
	size        int
 | 
			
		||||
@@ -59,13 +60,15 @@ func (rw *responseWriter) WriteHeader(s int) {
 | 
			
		||||
	rw.status = s
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (rw *responseWriter) Write(b []byte) (int, error) {
 | 
			
		||||
func (rw *responseWriter) Write(b []byte) (size int, err error) {
 | 
			
		||||
	if !rw.Written() {
 | 
			
		||||
		// The status will be StatusOK if WriteHeader has not been called yet
 | 
			
		||||
		rw.WriteHeader(http.StatusOK)
 | 
			
		||||
	}
 | 
			
		||||
	size, err := rw.ResponseWriter.Write(b)
 | 
			
		||||
	rw.size += size
 | 
			
		||||
	if rw.method != "HEAD" {
 | 
			
		||||
		size, err = rw.ResponseWriter.Write(b)
 | 
			
		||||
		rw.size += size
 | 
			
		||||
	}
 | 
			
		||||
	return size, err
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										5
									
								
								vendor/gopkg.in/macaron.v1/router.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/gopkg.in/macaron.v1/router.go
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -96,7 +96,7 @@ func NewRouter() *Router {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// SetAutoHead sets the value who determines whether add HEAD method automatically
 | 
			
		||||
// when GET method is added. Combo router will not be affected by this value.
 | 
			
		||||
// when GET method is added.
 | 
			
		||||
func (r *Router) SetAutoHead(v bool) {
 | 
			
		||||
	r.autoHead = v
 | 
			
		||||
}
 | 
			
		||||
@@ -341,6 +341,9 @@ func (cr *ComboRouter) route(fn func(string, ...Handler) *Route, method string,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (cr *ComboRouter) Get(h ...Handler) *ComboRouter {
 | 
			
		||||
	if cr.router.autoHead {
 | 
			
		||||
		cr.Head(h...)
 | 
			
		||||
	}
 | 
			
		||||
	return cr.route(cr.router.Get, "GET", h...)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user