Set Content-Type to text/plain for http status 401
This is because git command line shows the failure reason only if Content-Type is text/plain.
This commit is contained in:
		
							parent
							
								
									9fb2d49b93
								
							
						
					
					
						commit
						f26f8d5afa
					
				| @ -139,6 +139,13 @@ func (ctx *Context) Handle(status int, title string, err error) { | |||||||
| 	ctx.HTML(status, base.TplName(fmt.Sprintf("status/%d", status))) | 	ctx.HTML(status, base.TplName(fmt.Sprintf("status/%d", status))) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | func (ctx *Context) HandleText(status int, title string) { | ||||||
|  | 	if (status / 100 == 4) || (status / 100 == 5) { | ||||||
|  | 		log.Error(4, "%s", title) | ||||||
|  | 	} | ||||||
|  | 	ctx.RenderData(status, []byte(title)) | ||||||
|  | } | ||||||
|  | 
 | ||||||
| func (ctx *Context) HandleAPI(status int, obj interface{}) { | func (ctx *Context) HandleAPI(status int, obj interface{}) { | ||||||
| 	var message string | 	var message string | ||||||
| 	if err, ok := obj.(error); ok { | 	if err, ok := obj.(error); ok { | ||||||
|  | |||||||
| @ -96,12 +96,12 @@ func Http(ctx *middleware.Context) { | |||||||
| 		// FIXME: middlewares/context.go did basic auth check already,
 | 		// FIXME: middlewares/context.go did basic auth check already,
 | ||||||
| 		// maybe could use that one.
 | 		// maybe could use that one.
 | ||||||
| 		if len(auths) != 2 || auths[0] != "Basic" { | 		if len(auths) != 2 || auths[0] != "Basic" { | ||||||
| 			ctx.Handle(401, "no basic auth and digit auth", nil) | 			ctx.HandleText(401, "no basic auth and digit auth") | ||||||
| 			return | 			return | ||||||
| 		} | 		} | ||||||
| 		authUsername, authPasswd, err = base.BasicAuthDecode(auths[1]) | 		authUsername, authPasswd, err = base.BasicAuthDecode(auths[1]) | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			ctx.Handle(401, "no basic auth and digit auth", nil) | 			ctx.HandleText(401, "no basic auth and digit auth") | ||||||
| 			return | 			return | ||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| @ -116,7 +116,7 @@ func Http(ctx *middleware.Context) { | |||||||
| 			token, err := models.GetAccessTokenBySha(authUsername) | 			token, err := models.GetAccessTokenBySha(authUsername) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				if err == models.ErrAccessTokenNotExist { | 				if err == models.ErrAccessTokenNotExist { | ||||||
| 					ctx.Handle(401, "invalid token", nil) | 					ctx.HandleText(401, "invalid token") | ||||||
| 				} else { | 				} else { | ||||||
| 					ctx.Handle(500, "GetAccessTokenBySha", err) | 					ctx.Handle(500, "GetAccessTokenBySha", err) | ||||||
| 				} | 				} | ||||||
| @ -138,23 +138,23 @@ func Http(ctx *middleware.Context) { | |||||||
| 
 | 
 | ||||||
| 			has, err := models.HasAccess(authUser, repo, tp) | 			has, err := models.HasAccess(authUser, repo, tp) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				ctx.Handle(401, "no basic auth and digit auth", nil) | 				ctx.HandleText(401, "no basic auth and digit auth") | ||||||
| 				return | 				return | ||||||
| 			} else if !has { | 			} else if !has { | ||||||
| 				if tp == models.ACCESS_MODE_READ { | 				if tp == models.ACCESS_MODE_READ { | ||||||
| 					has, err = models.HasAccess(authUser, repo, models.ACCESS_MODE_WRITE) | 					has, err = models.HasAccess(authUser, repo, models.ACCESS_MODE_WRITE) | ||||||
| 					if err != nil || !has { | 					if err != nil || !has { | ||||||
| 						ctx.Handle(401, "no basic auth and digit auth", nil) | 						ctx.HandleText(401, "no basic auth and digit auth") | ||||||
| 						return | 						return | ||||||
| 					} | 					} | ||||||
| 				} else { | 				} else { | ||||||
| 					ctx.Handle(401, "no basic auth and digit auth", nil) | 					ctx.HandleText(401, "no basic auth and digit auth") | ||||||
| 					return | 					return | ||||||
| 				} | 				} | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			if !isPull && repo.IsMirror { | 			if !isPull && repo.IsMirror { | ||||||
| 				ctx.Handle(401, "can't push to mirror", nil) | 				ctx.HandleText(401, "can't push to mirror") | ||||||
| 				return | 				return | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user