How to use the @hapi/boom.badImplementation function in @hapi/boom

To help you get started, we’ve selected a few @hapi/boom examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github hapijs / statehood / lib / index.js View on Github external
// Contextualize definition

            if (definition.contextualize) {
                if (definition === base) {
                    definition = Hoek.clone(definition);
                }

                await definition.contextualize(definition, context);
            }

            // Validate name

            const nameRx = definition.strictHeader ? internals.validateRx.nameRx.strict : internals.validateRx.nameRx.loose;
            if (!nameRx.test(cookie.name)) {
                throw Boom.badImplementation('Invalid cookie name: ' + cookie.name);
            }

            // Prepare value (encode, sign)

            const value = await exports.prepareValue(cookie.name, cookie.value, definition);

            // Validate prepared value

            const valueRx = definition.strictHeader ? internals.validateRx.valueRx.strict : internals.validateRx.valueRx.loose;
            if (value &&
                (typeof value !== 'string' || !value.match(valueRx))) {

                throw Boom.badImplementation('Invalid cookie value: ' + cookie.value);
            }

            // Construct cookie
github ArkEcosystem / core / packages / core-api / src / handlers / locks / controller.ts View on Github external
public async show(request: Hapi.Request, h: Hapi.ResponseToolkit) {
        try {
            // @ts-ignore
            const data = await request.server.methods.v2.locks.show(request);

            return super.respondWithCache(data, h);
        } catch (error) {
            return Boom.badImplementation(error);
        }
    }
github JasanHdz / backendnodejs / movies-api / utils / middleware / errorHandlers.js View on Github external
function wrapErrors(err, req, res, next) {
  // Es posible que el error que nos llegue no sea de tipo Boom,
  // nosotros queremos que apartir de ahi todos los errores tengan la estructura boom
  if (!err.isBoom) {
    next(boom.badImplementation(err));
  }
  // Si el error que estamos pasando por acá es de tipo boom, 
  // llamamos al siguiente middleware con el error
  next(err);
}
github hapijs / vision / lib / manager.js View on Github external
const keys = Object.keys(context);
                for (let i = 0; i < keys.length; ++i) {
                    const key = keys[i];
                    base[key] = context[key];
                }
            }

            context = base;
        }

        context = context || {};

        if (compiled.layout &&
            context.hasOwnProperty(compiled.settings.layoutKeyword)) {

            throw Boom.badImplementation('settings.layoutKeyword conflict', { context, keyword: compiled.settings.layoutKeyword });
        }

        return new Promise((resolve, reject) => {

            compiled.template(context, compiled.settings.runtimeOptions, (err, renderedContent) => {

                if (err) {
                    reject(Boom.badImplementation(err.message, err));
                    return;
                }

                // No layout

                if (!compiled.layout) {
                    resolve(renderedContent);
                    return;
github nearform / udaru / packages / udaru-hapi-plugin / lib / authentication.js View on Github external
function buildResources (options, udaru, authParams, request, organizationId) {
  let resource = authParams.resource

  if (resource) return [resource]

  const resourceType = request.route.path.split('/')[2]
  const resourceBuilder = request.server.udaruConfig.get('AuthConfig.resources')[resourceType]
  if (!resourceBuilder) throw Boom.badImplementation('Resource builder not found')

  const requestParams = authParams.getParams ? authParams.getParams(request) : {}
  const buildParams = Object.assign({}, {organizationId}, requestParams)

  if (resourceType === 'users' && buildParams.userId) return buildResourcesForUser(udaru, resourceBuilder, buildParams, organizationId)

  return [resourceBuilder(buildParams)]
}
github hapijs / vision / lib / manager.js View on Github external
async _prepare(template, options) {

        options = options || {};

        const fileExtension = Path.extname(template).slice(1);
        const extension = fileExtension || this._defaultExtension;
        if (!extension) {
            throw Boom.badImplementation('Unknown extension and no defaultExtension configured for view template: ' + template);
        }

        const engine = this._engines[extension];
        if (!engine) {
            throw Boom.badImplementation('No view engine found for file: ' + template);
        }

        template = template + (fileExtension ? '' : engine.suffix);


        if (!engine.ready) {
            await this._prepareEngine(engine);
        }

        return this._prepareTemplates(template, engine, options);
    }
github charliewilco / downwrite / api / src / controllers / users.ts View on Github external
try {
    let user: IUser = await User.create(
      Object.assign({}, { email, username, id, password: hash, admin: false })
    );
    let token = createToken(user);

    return h
      .response({
        userID: user.id,
        id_token: token,
        username: user.username
      })
      .code(201);
  } catch (error) {
    return Boom.badImplementation(error);
  }
};
github ArkEcosystem / core / packages / core-api / src / versions / 1 / accounts / controller.ts View on Github external
public async top(request: Hapi.Request, h: Hapi.ResponseToolkit) {
        try {
            const wallets = this.databaseService.wallets.top(super.paginate(request));

            const accounts = wallets.rows.map(account => ({
                address: account.address,
                balance: `${account.balance}`,
                publicKey: account.publicKey,
            }));

            return super.respondWith({ accounts });
        } catch (error) {
            return Boom.badImplementation(error);
        }
    }
github JKHeadley / rest-hapi / policies / enforce-document-scope.js View on Github external
return { error: 'Insufficient document scope.' }
              }
            }
          )

          return h.continue
        }
      }

      return h.continue
    } catch (err) {
      if (err.isBoom) {
        throw err
      } else {
        Log.error(err)
        throw Boom.badImplementation(err)
      }
    }
  }
github JKHeadley / rest-hapi / utilities / handler-helper-factory.js View on Github external
function handleError(err, logger) {
  if (!err.isBoom) {
    logger.error(err)
    throw Boom.badImplementation('There was an error processing the request.')
  } else {
    throw err
  }
}