Sha256: cd4bfa0681f590b7c57c1de69eefe47deb6910ac559bb3fd9d4db46dea79c841

Contents?: true

Size: 886 Bytes

Versions: 21

Compression:

Stored size: 886 Bytes

Contents

const Method = require('./method');

class Path {
  constructor(securitySchemes) {
    this.securitySchemes = securitySchemes;
    this.methods = {};
  }

  swagger() {
    return Object.keys(this.methods)
      .sort()
      .reduce((memo, method) => {
        // eslint-disable-next-line no-param-reassign
        memo[method] = this.methods[method].swagger();
        return memo;
      }, {});
  }

  addRequest(event) {
    const method = event.httpServerRequest.request_method;
    if (!method) {
      return;
    }
    this.addMethod(method, event);
  }

  addMethod(method, event) {
    // eslint-disable-next-line no-param-reassign
    method = method.toLowerCase();
    if (!this.methods[method]) {
      this.methods[method] = new Method(this.securitySchemes);
    }
    const methodObj = this.methods[method];
    methodObj.addRequest(event);
  }
}

module.exports = Path;

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
appmap-0.72.2 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.72.1 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.72.0 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.71.0 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.70.2 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.70.1 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.70.0 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.69.0 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.68.2 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.68.1 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.68.0 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.67.1 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.67.0 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.66.2 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.66.1 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.66.0 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.65.1 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.65.0 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.64.0 ./node_modules/@appland/appmap/src/swagger/path.js
appmap-0.63.0 ./node_modules/@appland/appmap/src/swagger/path.js