Home Manual Reference Source Test API Healthcheck

src/controllers/hello.controller.js

/**
 * @flow
 */
import { HapiRequest } from '../base/request/hapi-request.interface.js';

/**
 * Controllers for Basic "Hello World" Functions
 *
 * See https://github.com/hapijs/hapi/blob/master/API.md#request for HapiRequest definition
 */
export class HelloWorld {
  /**
   * Returns 'Hello World!'
   * @return {String} Hello World!
   */
  static basic(): string {
    return 'Hello World!';
  }

  /**
   * Returns a customized Hello Message
   * @param  {HapiRequest} request Request Parameters
   * @return {String}         Customized Hello Message
   */
  static name(request: HapiRequest): string {

    const name: string = request.params.name;

    return `${name} says: ${Math.random()}!!!!`;
  }
}

export default [
  {
    path: '/hello',
    method: 'GET',
    controller: HelloWorld.basic
  },
  {
    path: '/{name}',
    method: 'GET',
    controller: HelloWorld.name
  },
  {
    path: '/error',
    method: 'GET',
    controller: (request: HapiRequest) => {
      request.logger.error('Error Message!');
      throw new Error('Intentional Error Thrown');
    }
  }
];