'use strict';


////////////////////////
// Greenlock Setup    //
////////////////////////

//var Greenlock = require('greenlock-express');
var Greenlock = require('../');
var greenlock = Greenlock.create({

  // Let's Encrypt v2 is ACME draft 11
  // Note: If at first you don't succeed, stop and switch to staging
  // https://acme-staging-v02.api.letsencrypt.org/directory
  server: 'https://acme-v02.api.letsencrypt.org/directory',
  version: 'draft-11',
  configDir: '~/.config/acme/',
  app: require('./my-express-app.js')

    // You MUST change these to a valid email and domains
    ,
  email: 'john.doe@example.com',
  approvedDomains: ['example.com', 'www.example.com'],
  agreeTos: true

    // Get notified of important updates and help me make greenlock better
    ,
  communityMember: true,
  telemetry: true
  //, debug: true
});

var server = greenlock.listen(80, 443);

var WebSocket = require('ws');
var ws = new WebSocket.Server({
  server: server
});
ws.on('connection', function (ws, req) {
  // inspect req.headers.authorization (or cookies) for session info
  ws.send("[Secure Echo Server] Hello!\nAuth: '" + (req.headers.authorization || 'none') + "'\n" +
    "Cookie: '" + (req.headers.cookie || 'none') + "'\n");
  ws.on('message', function (data) {
    ws.send(data);
  });
});