mavencentralapi

package
v0.0.0-...-2853fc3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	BaseURLSHASearch      string
	BaseURLBrowseArtifact string
	BaseURLBrowseLibrary  string
	BasePOMName           string
	MetadataName          string
}

func NewClient

func NewClient() *Client

func (*Client) GetArtifactPom

func (c *Client) GetArtifactPom(groupId, artifactId, version string) (*gopom.Project, error)

func (*Client) GetLibraryMetadata

func (c *Client) GetLibraryMetadata(groupId, artifactId string) (*Metadata, error)

func (*Client) SearchMavenCentralSHA1

func (c *Client) SearchMavenCentralSHA1(sha1 string) (*MavenCentralSearch, error)

type ClientWrapper

type ClientWrapper struct {
	Cache  *cache.Cache
	Client *Client
}

func NewClientWrapper

func NewClientWrapper(client *Client, cache *cache.Cache) *ClientWrapper

func (*ClientWrapper) GetArtifactPom

func (cw *ClientWrapper) GetArtifactPom(groupId, artifactId, version string) (*gopom.Project, error)

func (*ClientWrapper) GetLibraryMetadata

func (cw *ClientWrapper) GetLibraryMetadata(groupId, artifactId string) (*Metadata, error)

func (*ClientWrapper) SearchMavenCentralSHA1

func (cw *ClientWrapper) SearchMavenCentralSHA1(sha1 string) (*MavenCentralSearch, error)

type MavenCentralSearch

type MavenCentralSearch struct {
	ResponseHeader struct {
		Status int `json:"status"`
		QTime  int `json:"QTime"`
		Params struct {
			Q       string `json:"q"`
			Core    string `json:"core"`
			Indent  string `json:"indent"`
			Fl      string `json:"fl"`
			Start   string `json:"start"`
			Sort    string `json:"sort"`
			Rows    string `json:"rows"`
			Wt      string `json:"wt"`
			Version string `json:"version"`
		} `json:"params"`
	} `json:"responseHeader"`
	Response struct {
		NumFound int `json:"numFound"`
		Start    int `json:"start"`
		Docs     []struct {
			ID        string   `json:"id"`
			G         string   `json:"g"`
			A         string   `json:"a"`
			V         string   `json:"v"`
			P         string   `json:"p"`
			Timestamp int64    `json:"timestamp"`
			Ec        []string `json:"ec"`
			Tags      []string `json:"tags"`
		} `json:"docs"`
	} `json:"response"`
}

type Metadata

type Metadata struct {
	XMLName      xml.Name `xml:"metadata"`
	Text         string   `xml:",chardata"`
	ModelVersion string   `xml:"modelVersion,attr"`
	GroupId      string   `xml:"groupId"`
	ArtifactId   string   `xml:"artifactId"`
	Versioning   struct {
		Text     string `xml:",chardata"`
		Latest   string `xml:"latest"`
		Release  string `xml:"release"`
		Versions struct {
			Text    string   `xml:",chardata"`
			Version []string `xml:"version"`
		} `xml:"versions"`
		LastUpdated string `xml:"lastUpdated"`
	} `xml:"versioning"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL