text: // Copyright IBM Corp. 2020. All Rights Reserved.
  // Node module: @loopback/example-file-transfer
  // This file is licensed under the MIT License.
  // License text available at https://opensource.org/licenses/MIT
  
  const application = require('./dist');
  
  module.exports = application;
  
  if (require.main === module) {
    // Run the application
    const config = {
      rest: {
        port: +(process.env.PORT || 3000),
        host: process.env.HOST,
        // The `gracePeriodForClose` provides a graceful close for http/https
        // servers with keep-alive clients. The default value is `Infinity`
        // (don't force-close). If you want to immediately destroy all sockets
        // upon stop, set its value to `0`.
        // See https://www.npmjs.com/package/stoppable
        gracePeriodForClose: 5000, // 5 seconds
        openApiSpec: {
          // useful when used with OpenAPI-to-GraphQL to locate your application
          setServersFromRequest: true,
        },
      },
    };
    application.main(config).catch(err => {
      console.error('Cannot start the application.', err);
      process.exit(1);
    });
  }
  