RosvQuery1 {rosv} | R Documentation |
R6 Class for OSV Query Endpoint
Description
An R6 class to provide a lower-level interface to the query endpoint of the OSV API.
Details
Pageination is implemented via httr2::req_perform_iterative()
and a private method for
extracting tokens automatically. When initialized, the page_token is set to NULL
;
if a token is generated for large results the process is handled internally. The response object
will contain a list of all returned responses before any formatting occurred. The content field will
contain the list of vulnerabilities which may be further parsed into a table format.
Value
An R6 object to operate with OSV query endpoint.
Public fields
request
Request object made by
httr2
.content
Body contents of response from OSV API.
response
Response object returned from OSV API.
Methods
Public methods
Method new()
Set the core request details for subsequent use when called in run()
method.
Usage
RosvQuery1$new( commit = NULL, version = NULL, name = NULL, ecosystem = NULL, purl = NULL )
Arguments
commit
Commit hash to query against (do not use when version set).
version
Version of package.
name
Name of package.
ecosystem
Ecosystem package lives within (must be set if using
name
).purl
URL for package (do not use if
name
orecosystem
is set).
Method run()
Perform the request and return response for OSV API call.
Usage
RosvQuery1$run()
Method parse()
Parse the contents returned into a tidier format. Can
use future
plans to help parallelize. Not all contents are parsed.
Usage
RosvQuery1$parse()
Method print()
Print basic details of query object to screen.
Usage
RosvQuery1$print(...)
Arguments
...
Reserved for possible future use.
Method clone()
The objects of this class are cloneable with this method.
Usage
RosvQuery1$clone(deep = FALSE)
Arguments
deep
Whether to make a deep clone.
See Also
https://google.github.io/osv.dev/post-v1-query/
Examples
query <- RosvQuery1$new(commit = '6879efc2c1596d11a6a6ad296f80063b558d5e0f')
query