1
0

server.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. 'use strict'
  2. /* Require modules. */
  3. const express = require('express')
  4. /* Set constants. */
  5. const HOST = '127.0.0.1'
  6. const PORT = process.env.PORT || 3000
  7. /* Initialize application. */
  8. const app = express()
  9. /* Initialize JSON parser. */
  10. app.use(express.json())
  11. /* Initialize URL parser. */
  12. app.use(express.urlencoded({ extended: true }))
  13. /* Configure application. */
  14. app.use(function (req, res, next) {
  15. /* Initialize headers. */
  16. res.header('Access-Control-Allow-Origin', '*')
  17. res.header('Access-Control-Allow-Headers', 'content-type') // superagent "case-sensitive" bug??
  18. // res.header('Access-Control-Allow-Headers', 'X-APECS-Address, X-APECS-Signature')
  19. /* Move to next process. */
  20. next()
  21. })
  22. // TODO: Replace with a "static" site.
  23. app.get('/', (req, res) => {
  24. res.end('<h1>Welcome to the APECS.cash API</h1>')
  25. })
  26. /*******************************************************************************
  27. * (CashID) AUTH Endpoint
  28. */
  29. // app.post('/v1/cashid', require('./handlers/auth'))
  30. /*******************************************************************************
  31. * PROJECTS Endpoint
  32. */
  33. app.get('/v1/projects', require('./handlers/projects'))
  34. /*******************************************************************************
  35. * Sessions Endpoint
  36. */
  37. app.post('/v1/sessions', require('./handlers/sessions'))
  38. /*******************************************************************************
  39. * Solidity Compiler
  40. */
  41. app.post('/v1/solc', require('./handlers/solc'))
  42. /* Start listening for connections. */
  43. app.listen(PORT, HOST)
  44. /* Display current environment variables. */
  45. console.info()
  46. console.log(`Running on http://${HOST}:${PORT}`)
  47. console.info()
  48. console.info('Current Environment Variables')
  49. console.info('-----------------------------')
  50. console.info(' - NODE_ENV :', process.env.NODE_ENV)
  51. console.info(' - API_ENDPOINT :', process.env.API_ENDPOINT)
  52. console.info(' - SLACK_BOT_TOKEN :', process.env.SLACK_BOT_TOKEN)
  53. console.info()