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:
parent
3f2d787c2b
commit
e8188c1607
@ -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
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user