Guest User

Untitled

a guest
Oct 24th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.22 KB | None | 0 0
  1. import * as express from 'express'
  2. import * as bodyParser from "body-parser"
  3. import * as request from 'request'
  4.  
  5. class Language {
  6. language: string
  7.  
  8. constructor (language: string) {
  9. this.language = language
  10. }
  11. }
  12.  
  13. interface Request {
  14. url: string
  15. }
  16.  
  17. class App {
  18. public express: express.Express
  19.  
  20. constructor () {
  21. this.express = express()
  22. this.mountRoutes()
  23. }
  24.  
  25. private mountRoutes (): void {
  26. const router = express.Router()
  27.  
  28. router.get('/language', (req, res) => {
  29. let language = new Language("TypeScript")
  30.  
  31. res.json(language)
  32. })
  33.  
  34. router.post('/request', (req, res) => {
  35. let passedRequest: Request = req.body as Request
  36.  
  37. request(passedRequest.url, (error: any, response: any, body: any) => {
  38. if (!error) {
  39. let language: Language = JSON.parse(body) as Language
  40. res.json(language);
  41. }
  42. });
  43. })
  44.  
  45. this.express.use(bodyParser.json())
  46. this.express.use('/', router)
  47. }
  48.  
  49. public listen(port: number): void {
  50. this.express.listen(port, (err: any) => {
  51. if (err) {
  52. return console.log(err)
  53. }
  54.  
  55. return console.log(`server is listening on port ${port}`)
  56. })
  57. }
  58. }
  59.  
  60. let app = new App()
  61.  
  62. app.listen(8020)
Add Comment
Please, Sign In to add comment