16 changed files with 526 additions and 0 deletions
@ -0,0 +1,23 @@
|
||||
**/.classpath |
||||
**/.dockerignore |
||||
**/.env |
||||
**/.git |
||||
**/.gitignore |
||||
**/.project |
||||
**/.settings |
||||
**/.toolstarget |
||||
**/.vs |
||||
**/.vscode |
||||
**/*.*proj.user |
||||
**/*.dbmdl |
||||
**/*.jfm |
||||
**/azds.yaml |
||||
**/charts |
||||
**/docker-compose* |
||||
**/Dockerfile* |
||||
**/node_modules |
||||
**/npm-debug.log |
||||
**/obj |
||||
**/secrets.dev.yaml |
||||
**/values.dev.yaml |
||||
README.md |
||||
@ -0,0 +1,7 @@
|
||||
FROM node:current-alpine AS builder |
||||
WORKDIR /usr/src/app |
||||
COPY /package.json /app/ |
||||
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"] |
||||
RUN apk add --no-cache git |
||||
RUN npm install |
||||
COPY . . |
||||
@ -0,0 +1,46 @@
|
||||
"use strict"; |
||||
|
||||
Object.defineProperty(exports, "__esModule", { |
||||
value: true |
||||
}); |
||||
exports["default"] = void 0; |
||||
|
||||
var _express = _interopRequireDefault(require("express")); |
||||
|
||||
var _path = _interopRequireDefault(require("path")); |
||||
|
||||
var _cookieParser = _interopRequireDefault(require("cookie-parser")); |
||||
|
||||
var _morgan = _interopRequireDefault(require("morgan")); |
||||
|
||||
var _index = _interopRequireDefault(require("./routes/index")); |
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } |
||||
|
||||
// var express = require('express');
|
||||
// var path = require('path');
|
||||
// var cookieParser = require('cookie-parser');
|
||||
// var logger = require('morgan');
|
||||
// var indexRouter = require('./routes/index');
|
||||
// var usersRouter = require('./routes/users');
|
||||
// var app = express();
|
||||
// app.use(logger('dev'));
|
||||
// app.use(express.json());
|
||||
// app.use(express.urlencoded({ extended: false }));
|
||||
// app.use(cookieParser());
|
||||
// app.use(express.static(path.join(__dirname, 'public')));
|
||||
// app.use('/', indexRouter);
|
||||
// app.use('/users', usersRouter);
|
||||
// module.exports = app;
|
||||
// app.js
|
||||
var app = (0, _express["default"])(); |
||||
app.use((0, _morgan["default"])('dev')); |
||||
app.use(_express["default"].json()); |
||||
app.use(_express["default"].urlencoded({ |
||||
extended: false |
||||
})); |
||||
app.use((0, _cookieParser["default"])()); |
||||
app.use(_express["default"]["static"](_path["default"].join(__dirname, '../public'))); |
||||
app.use('/', _index["default"]); |
||||
var _default = app; |
||||
exports["default"] = _default; |
||||
@ -0,0 +1,93 @@
|
||||
"use strict"; |
||||
|
||||
var _app = _interopRequireDefault(require("../app")); |
||||
|
||||
var _debug = _interopRequireDefault(require("debug")); |
||||
|
||||
var _http = _interopRequireDefault(require("http")); |
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } |
||||
|
||||
// bin/www.js
|
||||
|
||||
/** |
||||
* Module dependencies. |
||||
*/ |
||||
var debug = (0, _debug["default"])('your-project-name:server'); |
||||
/** |
||||
* Get port from environment and store in Express. |
||||
*/ |
||||
|
||||
var port = normalizePort(process.env.PORT || '3000'); |
||||
|
||||
_app["default"].set('port', port); |
||||
/** |
||||
* Create HTTP server. |
||||
*/ |
||||
|
||||
|
||||
var server = _http["default"].createServer(_app["default"]); |
||||
/** |
||||
* Listen on provided port, on all network interfaces. |
||||
*/ |
||||
|
||||
|
||||
server.listen(port); |
||||
server.on('error', onError); |
||||
server.on('listening', onListening); |
||||
/** |
||||
* Normalize a port into a number, string, or false. |
||||
*/ |
||||
|
||||
function normalizePort(val) { |
||||
var port = parseInt(val, 10); |
||||
|
||||
if (isNaN(port)) { |
||||
// named pipe
|
||||
return val; |
||||
} |
||||
|
||||
if (port >= 0) { |
||||
// port number
|
||||
return port; |
||||
} |
||||
|
||||
return false; |
||||
} |
||||
/** |
||||
* Event listener for HTTP server "error" event. |
||||
*/ |
||||
|
||||
|
||||
function onError(error) { |
||||
if (error.syscall !== 'listen') { |
||||
throw error; |
||||
} |
||||
|
||||
var bind = typeof port === 'string' ? 'Pipe ' + port : 'Port ' + port; // handle specific listen errors with friendly messages
|
||||
|
||||
switch (error.code) { |
||||
case 'EACCES': |
||||
console.error(bind + ' requires elevated privileges'); |
||||
process.exit(1); |
||||
break; |
||||
|
||||
case 'EADDRINUSE': |
||||
console.error(bind + ' is already in use'); |
||||
process.exit(1); |
||||
break; |
||||
|
||||
default: |
||||
throw error; |
||||
} |
||||
} |
||||
/** |
||||
* Event listener for HTTP server "listening" event. |
||||
*/ |
||||
|
||||
|
||||
function onListening() { |
||||
var addr = server.address(); |
||||
var bind = typeof addr === 'string' ? 'pipe ' + addr : 'port ' + addr.port; |
||||
debug('Listening on ' + bind); |
||||
} |
||||
@ -0,0 +1,30 @@
|
||||
"use strict"; |
||||
|
||||
Object.defineProperty(exports, "__esModule", { |
||||
value: true |
||||
}); |
||||
exports["default"] = void 0; |
||||
|
||||
var _express = _interopRequireDefault(require("express")); |
||||
|
||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } |
||||
|
||||
// var express = require('express');
|
||||
// var router = express.Router();
|
||||
// /* GET home page. */
|
||||
// router.get('/', function(req, res, next) {
|
||||
// res.render('index', { title: 'Express' });
|
||||
// });
|
||||
// module.exports = router;
|
||||
// routes/index.js
|
||||
var router = _express["default"].Router(); |
||||
/* GET home page. */ |
||||
|
||||
|
||||
router.get('/', function (req, res, next) { |
||||
res.render('index', { |
||||
title: 'Express' |
||||
}); |
||||
}); |
||||
var _default = router; |
||||
exports["default"] = _default; |
||||
@ -0,0 +1,62 @@
|
||||
version: "3.7" |
||||
services: |
||||
mongodb: |
||||
image: mongo:latest |
||||
container_name: mongodb |
||||
volumes: |
||||
- ./mongo_data:/data/db |
||||
environment: |
||||
- MONGO_INITDB_DATABASE=forms |
||||
- MONGO_INITDB_ROOT_USERNAME=mongodbUser |
||||
- MONGO_INITDB_ROOT_PASSWORD=mongodbPass |
||||
ports: |
||||
- "27017:27017" |
||||
|
||||
mongo-express: |
||||
container_name: mongo-express |
||||
depends_on: |
||||
- mongodb |
||||
image: mongo-express:latest |
||||
environment: |
||||
- ME_CONFIG_MONGODB_SERVER=mongodb |
||||
- ME_CONFIG_MONGODB_PORT=27017 |
||||
- ME_CONFIG_MONGODB_ADMINUSERNAME=mongodbUser |
||||
- ME_CONFIG_MONGODB_ADMINPASSWORD=mongodbPass |
||||
- ME_CONFIG_BASICAUTH_USERNAME=expressUser |
||||
- ME_CONFIG_BASICAUTH_PASSWORD=expressPass |
||||
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true |
||||
- ME_CONFIG_OPTIONS_EDITORTHEME=default |
||||
ports: |
||||
- "8081:8081" |
||||
|
||||
node: |
||||
depends_on: |
||||
- mongodb |
||||
image: avaliacao-imovel-rural/air-backend |
||||
container_name: air-backend |
||||
build: |
||||
context: . |
||||
args: |
||||
- HTTP_PROXY=http://192.168.128.1:3128 |
||||
- HTTPS_PROXY=http://192.168.128.1:3128 |
||||
- http_proxy=http://192.168.128.1:3128 |
||||
- https_proxy=http://192.168.128.1:3128 |
||||
ports: |
||||
- "3001:3001" |
||||
env_file: |
||||
- .env |
||||
environment: |
||||
- NODEJS_HOST=0.0.0.0 |
||||
- NODEJS_PORT=3001 |
||||
- MONGO_DB_HOST=mongodb |
||||
- MONGO_DB_PORT=27017 |
||||
- MONGO_DB_URL=mongodb://mongodb:27017/analise-agro?authSource=admin |
||||
- MONGO_DB_USER=mongodbUser |
||||
- MONGO_DB_PWD=mongodbPass |
||||
|
||||
networks: |
||||
default: |
||||
ipam: |
||||
driver: default |
||||
config: |
||||
- subnet: 172.17.1.0/24 |
||||
@ -0,0 +1,14 @@
|
||||
version: '2.1' |
||||
|
||||
services: |
||||
es6-nodejs: |
||||
image: es6-nodejs |
||||
container_name: es6-nodejs |
||||
build: . |
||||
environment: |
||||
NODE_ENV: development |
||||
ports: |
||||
- 3001:3001 |
||||
- 9229:9229 |
||||
## set your startup file here |
||||
command: node --inspect=0.0.0.0:9229 index.js |
||||
@ -0,0 +1,15 @@
|
||||
version: '3.7' |
||||
|
||||
services: |
||||
es6-nodejs: |
||||
image: nodejs-soap-test |
||||
container_name: nodejs-soap-test |
||||
build: . |
||||
volumes: |
||||
- ./src:/usr/src/app/src |
||||
- ./public:/usr/src/app/public |
||||
ports: |
||||
- 6001:6001 |
||||
environment: |
||||
- NODEJS_PORT=6001 |
||||
command: ["npm","run","watch"] |
||||
@ -0,0 +1,5 @@
|
||||
{ |
||||
"exec": "npm run dev", |
||||
"watch": ["src/*", "public/*"], |
||||
"ext": "js, html, css, json, xml" |
||||
} |
||||
@ -0,0 +1,36 @@
|
||||
{ |
||||
"name": "es6-nodejs", |
||||
"version": "0.0.0", |
||||
"private": true, |
||||
"scripts": { |
||||
"start": "npm run prod", |
||||
"server": "babel-node ./src/bin/www", |
||||
"server:prod": "node ./dist/bin/www", |
||||
"dev": "NODE_ENV=development npm-run-all server", |
||||
"clean": "rimraf dist", |
||||
"build": "babel ./src --out-dir dist", |
||||
"prod": "NODE_ENV=production npm-run-all clean build server:prod", |
||||
"watch": "nodemon" |
||||
}, |
||||
"dependencies": { |
||||
"cookie-parser": "^1.4.5", |
||||
"debug": "^4.1.1", |
||||
"express": "^4.17.1", |
||||
"morgan": "^1.10.0", |
||||
"npm-run-all": "^4.1.5", |
||||
"rimraf": "^3.0.2", |
||||
"axios": "0.19.2", |
||||
"soap": "^0.31.0", |
||||
"easy-soap-request": "^3.3.1", |
||||
"fast-xml-parser": "^3.17.4", |
||||
"xml2js": "0.4.23", |
||||
"colors": "1.4.0" |
||||
}, |
||||
"devDependencies": { |
||||
"@babel/cli": "^7.10.1", |
||||
"@babel/core": "^7.10.2", |
||||
"@babel/node": "^7.10.1", |
||||
"@babel/preset-env": "^7.10.2", |
||||
"nodemon": "^2.0.4" |
||||
} |
||||
} |
||||
@ -0,0 +1,78 @@
|
||||
import express from "express"; |
||||
import soapRequest from "easy-soap-request"; |
||||
import fs from "fs"; |
||||
import colors from "colors"; |
||||
import xmlParser from "fast-xml-parser"; |
||||
import xml2js from "xml2js"; |
||||
import util from "util"; |
||||
import soap from "soap"; |
||||
|
||||
const parser = new xml2js.Parser({ explicitArray: false }); |
||||
|
||||
// colors
|
||||
colors.enable(); |
||||
|
||||
// express app
|
||||
const app = express(); |
||||
const port = process.env.NODEJS_PORT || 3001; |
||||
|
||||
app.listen(port, () => { |
||||
console.log(`Express app running on Port: ${port}`.green); |
||||
}); |
||||
|
||||
// data
|
||||
const url = "https://www3.bcb.gov.br/wssgs/services/FachadaWSSGS?method=getValor"; |
||||
const headers = { |
||||
"user-agent": "AIR-nodejs", |
||||
"Content-Type": "text/xml;charset=UTF-8", |
||||
soapAction: "https://www3.bcb.gov.br/wssgs/services/FachadaWSSGS/getValor", |
||||
}; |
||||
const xml = `\
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
||||
<soapenv:Body> |
||||
<getValor xmlns="https://www3.bcb.gov.br/wssgs/services/FachadaWSSGS"> |
||||
<codigoSerie>4392</codigoSerie> |
||||
<data>18/06/2020</data> |
||||
</getValor> |
||||
</soapenv:Body> |
||||
</soapenv:Envelope> |
||||
`;
|
||||
|
||||
// express routes
|
||||
const routes = express.Router(); |
||||
app.use("/", routes); |
||||
|
||||
// routes controller
|
||||
routes.route("").get((req, res) => { |
||||
parser.parseString(xml, function (err, result) { |
||||
console.log("XML".red); |
||||
console.log(util.inspect(result, false, null)); |
||||
res.send(result); |
||||
console.log("Drilling Down".red); |
||||
console.log(util.inspect(result["soapenv:Envelope"]["soapenv:Body"].getValor.data, false, null)); |
||||
}); |
||||
}); |
||||
|
||||
routes.route("/soap/xmlParser").get(async (req, res) => { |
||||
// parse envelope
|
||||
const parsedEnvelope = xmlParser.parse(xml); |
||||
const newDate = "01/06/2020"; |
||||
console.log("Envelope".green, parsedEnvelope["soapenv:Envelope"]["soapenv:Body"].getValor.data); |
||||
|
||||
const { response } = await soapRequest({ |
||||
url: url, |
||||
headers: sampleHeaders, |
||||
xml: xml, |
||||
timeout: 1000, |
||||
}); // Optional timeout parameter(milliseconds)
|
||||
const { headers, body, statusCode } = response; |
||||
console.log(headers); |
||||
console.log(body); |
||||
console.log(statusCode); |
||||
const parsedXML = xmlParser.parse(body); |
||||
const responseValue = parsedXML["soapenv:Envelope"]["soapenv:Body"].multiRef; |
||||
const responseObject = parsedEnvelope["soapenv:Envelope"]["soapenv:Body"].getValor.data; |
||||
console.log(`CDI (${responseObject}): ${responseValue}`.green); |
||||
res.send("done"); |
||||
}); |
||||
@ -0,0 +1,53 @@
|
||||
import express from "express"; |
||||
import colors from "colors"; |
||||
import axios from "axios"; |
||||
import util from "util" |
||||
|
||||
// colors
|
||||
colors.enable(); |
||||
|
||||
// express app
|
||||
const app = express(); |
||||
const port = process.env.NODEJS_PORT || 3001; |
||||
|
||||
app.listen(port, () => { |
||||
console.log(`Express app running on Port: ${port}`.green); |
||||
}); |
||||
|
||||
// data
|
||||
const url = "https://www3.bcb.gov.br/wssgs/services/FachadaWSSGS?method=getValor"; |
||||
const headers = { |
||||
headers: { |
||||
"user-agent": "AIR-nodejs", |
||||
"Content-Type": "text/xml;charset=UTF-8", |
||||
soapAction: "https://www3.bcb.gov.br/wssgs/services/FachadaWSSGS/getValor", |
||||
}, |
||||
}; |
||||
const xml = `\
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
||||
<soapenv:Body> |
||||
<getValor xmlns="https://www3.bcb.gov.br/wssgs/services/FachadaWSSGS"> |
||||
<codigoSerie>4392</codigoSerie> |
||||
<data>18/06/2020</data> |
||||
</getValor> |
||||
</soapenv:Body> |
||||
</soapenv:Envelope> |
||||
`;
|
||||
|
||||
// express routes
|
||||
const routes = express.Router(); |
||||
app.use("/", routes); |
||||
|
||||
// routes controller
|
||||
routes.route("").get((request, response) => { |
||||
axios |
||||
.post(url, xml, headers) |
||||
.then((response) => { |
||||
console.log(`${util.inspect(response.data, false, null)}`.yellow); |
||||
}) |
||||
.catch((error) => { |
||||
console.log(error); |
||||
}); |
||||
response.send("done"); |
||||
}); |
||||
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
||||
<soapenv:Body> |
||||
<getValor xmlns="https://www3.bcb.gov.br/wssgs/services/FachadaWSSGS"> |
||||
<codigoSerie>4392</codigoSerie> |
||||
<data>18/06/2020</data> |
||||
</getValor> |
||||
</soapenv:Body> |
||||
</soapenv:Envelope> |
||||
@ -0,0 +1,50 @@
|
||||
import express from "express"; |
||||
import colors from "colors"; |
||||
import axios from "axios"; |
||||
import util from "util"; |
||||
// import soap from "soap";
|
||||
|
||||
// colors
|
||||
colors.enable(); |
||||
|
||||
// express app
|
||||
const app = express(); |
||||
const port = process.env.NODEJS_PORT || 3001; |
||||
|
||||
app.listen(port, () => { |
||||
console.log(`Express app running on Port: ${port}`.green); |
||||
}); |
||||
|
||||
//soap example
|
||||
const soap = require("soap"); |
||||
const url = "https://www3.bcb.gov.br/wssgs/services/FachadaWSSGS?wsdl"; |
||||
const args = { codigoSerie: "4392", data: "18/06/2020" }; |
||||
soap |
||||
.createClientAsync(url) |
||||
.then((client) => { |
||||
return new Promise((resolve, reject) => { |
||||
client.getValor(args, (error, result) => { |
||||
error ? reject() : resolve(result); |
||||
}); |
||||
}); |
||||
}) |
||||
.then((result) => { |
||||
console.log(result); |
||||
}); |
||||
|
||||
// express routes
|
||||
const routes = express.Router(); |
||||
app.use("/", routes); |
||||
|
||||
// routes controller
|
||||
routes.route("").get((request, response) => { |
||||
axios |
||||
.post(url, xml, headers) |
||||
.then((response) => { |
||||
console.log(`${util.inspect(response.data, false, null)}`.yellow); |
||||
}) |
||||
.catch((error) => { |
||||
console.log(error); |
||||
}); |
||||
response.send("done"); |
||||
}); |
||||
Loading…
Reference in new issue