diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/avatar/avatar.go | 16 | ||||
-rw-r--r-- | modules/middleware/repo.go | 11 |
2 files changed, 22 insertions, 5 deletions
diff --git a/modules/avatar/avatar.go b/modules/avatar/avatar.go index 5ed5d16a62..fb198da149 100644 --- a/modules/avatar/avatar.go +++ b/modules/avatar/avatar.go @@ -33,11 +33,17 @@ import ( "github.com/nfnt/resize" "github.com/gogits/gogs/modules/log" + "github.com/gogits/gogs/modules/setting" ) -var ( - gravatar = "http://www.gravatar.com/avatar" -) +var gravatarSource string + +func init() { + gravatarSource = setting.GravatarSource + if !strings.HasPrefix(gravatarSource, "http:") { + gravatarSource = "http:" + gravatarSource + } +} // hash email to md5 string // keep this func in order to make this package indenpent @@ -121,7 +127,7 @@ func (this *Avatar) Encode(wr io.Writer, size int) (err error) { // get image from gravatar.com func (this *Avatar) Update() { - thunder.Fetch(gravatar+"/"+this.Hash+"?"+this.reqParams, + thunder.Fetch(gravatarSource+this.Hash+"?"+this.reqParams, this.imagePath) } @@ -129,7 +135,7 @@ func (this *Avatar) UpdateTimeout(timeout time.Duration) (err error) { select { case <-time.After(timeout): err = fmt.Errorf("get gravatar image %s timeout", this.Hash) - case err = <-thunder.GoFetch(gravatar+"/"+this.Hash+"?"+this.reqParams, + case err = <-thunder.GoFetch(gravatarSource+this.Hash+"?"+this.reqParams, this.imagePath): } return err diff --git a/modules/middleware/repo.go b/modules/middleware/repo.go index d01f93fa4c..2d311d2131 100644 --- a/modules/middleware/repo.go +++ b/modules/middleware/repo.go @@ -122,6 +122,17 @@ func RepoRef() macaron.Handler { err error ) + // For API calls. + if ctx.Repo.GitRepo == nil { + repoPath := models.RepoPath(ctx.Repo.Owner.Name, ctx.Repo.Repository.Name) + gitRepo, err := git.OpenRepository(repoPath) + if err != nil { + ctx.Handle(500, "RepoRef Invalid repo "+repoPath, err) + return + } + ctx.Repo.GitRepo = gitRepo + } + // Get default branch. if len(ctx.Params("*")) == 0 { refName = ctx.Repo.Repository.DefaultBranch |