1
0
mirror of https://github.com/golang/go synced 2024-11-25 08:47:56 -07:00

godoc: fix remote search (use correct URL)

Also works now together with -html, as in:
godoc -html -q Sin
for an html result.

Fixes #2435.

R=iant
CC=golang-dev
https://golang.org/cl/5375074
This commit is contained in:
Robert Griesemer 2011-11-11 16:59:47 -08:00
parent 3f2d787c2b
commit e8188c1607
2 changed files with 15 additions and 3 deletions

View File

@ -16,6 +16,7 @@ import (
"io"
"log"
"net/http"
"net/url"
"os"
"path"
"path/filepath"
@ -845,6 +846,19 @@ func getPageInfoMode(r *http.Request) (mode PageInfoMode) {
return
}
// remoteSearchURL returns the search URL for a given query as needed by
// remoteSearch. If html is set, an html result is requested; otherwise
// the result is in textual form.
// Adjust this function as necessary if modeNames or FormValue parameters
// change.
func remoteSearchURL(query string, html bool) string {
s := "/search?m=text&q="
if html {
s = "/search?q="
}
return s + url.QueryEscape(query)
}
type PageInfo struct {
Dirname string // directory containing the package
PList []string // list of package names found

View File

@ -38,7 +38,6 @@ import (
"log"
"net/http"
_ "net/http/pprof" // to serve /debug/pprof/*
"net/url"
"os"
"path"
"path/filepath"
@ -165,8 +164,6 @@ func loggingHandler(h http.Handler) http.Handler {
}
func remoteSearch(query string) (res *http.Response, err error) {
search := "/search?f=text&q=" + url.QueryEscape(query)
// list of addresses to try
var addrs []string
if *serverAddr != "" {
@ -180,6 +177,7 @@ func remoteSearch(query string) (res *http.Response, err error) {
}
// remote search
search := remoteSearchURL(query, *html)
for _, addr := range addrs {
url := "http://" + addr + search
res, err = http.Get(url)