Merge pull request #325 from garyburd/redir
Enforce HTTPS on godoc.org
diff --git a/gddo-server/main.go b/gddo-server/main.go
index 18d909f..eea3e12 100644
--- a/gddo-server/main.go
+++ b/gddo-server/main.go
@@ -61,6 +61,7 @@
robotRequest
queryRequest
refreshRequest
+ apiRequest
)
type crawlResult struct {
@@ -85,7 +86,7 @@
needsCrawl := false
switch requestType {
- case queryRequest:
+ case queryRequest, apiRequest:
needsCrawl = nextCrawl.IsZero() && len(pkgs) == 0
case humanRequest:
needsCrawl = nextCrawl.Before(time.Now())
@@ -599,7 +600,10 @@
var pkgs []database.Package
if gosrc.IsValidRemotePath(q) || (strings.Contains(q, "/") && gosrc.IsGoRepoPath(q)) {
- pdoc, _, err := getDoc(q, robotRequest)
+ pdoc, _, err := getDoc(q, apiRequest)
+ if e, ok := err.(gosrc.NotFoundError); ok && e.Redirect != "" {
+ pdoc, _, err = getDoc(e.Redirect, robotRequest)
+ }
if err == nil && pdoc != nil {
pkgs = []database.Package{{Path: pdoc.ImportPath, Synopsis: pdoc.Synopsis}}
}