Class NpmPayloadBuilder

java.lang.Object
org.owasp.dependencycheck.data.nodeaudit.NpmPayloadBuilder

@ThreadSafe public final class NpmPayloadBuilder extends Object
Class used to create the payload to submit to the NPM Audit API service.
Author:
Steve Springett, Jeremy Long
  • Method Summary

    Modifier and Type
    Method
    Description
    static jakarta.json.JsonObject
    build(jakarta.json.JsonObject lockJson, jakarta.json.JsonObject packageJson, org.apache.commons.collections4.MultiValuedMap<String,String> dependencyMap, boolean skipDevDependencies)
    Builds an npm audit API payload.
    static jakarta.json.JsonObject
    build(jakarta.json.JsonObject packageJson, org.apache.commons.collections4.MultiValuedMap<String,String> dependencyMap, boolean skipDevDependencies)
    Attempts to build the request data for NPM Audit API call.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • build

      public static jakarta.json.JsonObject build(jakarta.json.JsonObject lockJson, jakarta.json.JsonObject packageJson, org.apache.commons.collections4.MultiValuedMap<String,String> dependencyMap, boolean skipDevDependencies)
      Builds an npm audit API payload.
      Parameters:
      lockJson - the package-lock.json
      packageJson - the package.json
      dependencyMap - a collection of module/version pairs that is populated while building the payload
      skipDevDependencies - whether devDependencies should be skipped
      Returns:
      the npm audit API payload
    • build

      public static jakarta.json.JsonObject build(jakarta.json.JsonObject packageJson, org.apache.commons.collections4.MultiValuedMap<String,String> dependencyMap, boolean skipDevDependencies)
      Attempts to build the request data for NPM Audit API call. This may produce a payload that will fail.
      Parameters:
      packageJson - a raw package-lock.json file
      dependencyMap - a collection of module/version pairs that is
      skipDevDependencies - whether devDependencies should be skipped populated while building the payload
      Returns:
      the JSON payload for NPN Audit