41 lines
1 KiB
JavaScript
41 lines
1 KiB
JavaScript
let express = require('express'); require('dotenv').config(); let app = express();
|
|
const bodyParser = require(`body-parser`);
|
|
|
|
class ServerForNames {
|
|
#paths = {
|
|
"API": {
|
|
"name": "/name"
|
|
}
|
|
}
|
|
|
|
/* Echo.
|
|
|
|
PARAMETERS (object): The name parameters.
|
|
returns: (object) the formatted repeat response
|
|
*/
|
|
parse(PARAMETERS) {
|
|
let RESPONSE = {"name": [PARAMETERS["first"], PARAMETERS["last"]].join(` `)};
|
|
return (RESPONSE);
|
|
}
|
|
|
|
/* Create the response.
|
|
|
|
REQUEST (object): The request object.
|
|
RESPONSE (object): The response object.
|
|
*/
|
|
respond(REQUEST, RESPONSE) {
|
|
RESPONSE.json(this.parse(REQUEST.query));
|
|
}
|
|
|
|
constructor() {
|
|
app.use(bodyParser.urlencoded({extended: false}));
|
|
|
|
[`get`, `post`].forEach((METHOD) => {
|
|
app.route(this.#paths[`API`][`name`])[METHOD]((REQUEST, RESPONSE, next) => {this.respond(REQUEST, RESPONSE);});
|
|
});
|
|
}
|
|
}
|
|
|
|
new ServerForNames();
|
|
|
|
module.exports = app;
|