internal/api: support package-level vulnerability filtering Update the v1beta vulnerabilities endpoint to accept both module paths and package paths. When a package path is supplied, the handler resolves the containing module path via resolveModulePath and then passes the package path as a filter to vuln.VulnsForPackage. When a module path is supplied, it returns all vulnerabilities for that module. Also expose a `module` query parameter in VulnParams to allow resolving ambiguous package paths. Change-Id: I8666f98d1d05d9426eef67deb0e28ca193f50111 Reviewed-on: https://go-review.googlesource.com/c/pkgsite/+/780182 Reviewed-by: Jonathan Amsterdam <jba@google.com> LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> kokoro-CI: kokoro <noreply+kokoro@google.com> Auto-Submit: Ethan Lee <ethanalee@google.com>
This repository hosts the source code of the pkg.go.dev website, and pkgsite, a documentation server program.
Pkg.go.dev is a website for discovering and evaluating Go packages and modules.
You can check it out at https://pkg.go.dev.
pkgsite program extracts and generates documentation for Go projects.
Example usage:
$ go install golang.org/x/pkgsite/cmd/pkgsite@latest $ cd myproject $ pkgsite -open .
For more information, see the pkgsite documentation.
pkgsite provides a REST API for retrieving package and module information. Currently the API is on v1beta, but after a periodic of community feedback we will transition to v1. The API endpoints include:
/v1beta/package/{path}: Information about the package at {path}./v1beta/module/{path}: Information about the module at {path}./v1beta/versions/{path}: Versions of the module at {path}./v1beta/packages/{path}: Information about packages of the module at {path}./v1beta/search: Search results./v1beta/symbols/{path}: List of symbols for the package at {path}./v1beta/imported-by/{path}: Paths of packages importing the package at {path}./v1beta/vulns/{path}: Vulnerabilities of the module at {path}.For detailed documentation of parameters and response schemas, see the documentation page served at /api, or refer directly to the annotated source code in internal/api/api.go.
If you want to report a bug or have a feature suggestion, please first check the known issues to see if your issue is already being discussed. If an issue does not already exist, feel free to file an issue.
For answers to frequently asked questions, see pkg.go.dev/about.
You can also chat with us on the #pkgsite Slack channel on the Gophers Slack.
We would love your help!
Our canonical Git repository is located at go.googlesource.com/pkgsite. There is a mirror of the repository at github.com/golang/pkgsite.
To contribute, please read our contributing guide.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.