mirror of
https://github.com/janoside/btc-rpc-explorer.git
synced 2026-08-13 12:33:13 +02:00
deal with a bunch of dumb malformed urls hitting demo site
again, I shouldn't accommodate this, but I'm tired of the dumb errors
This commit is contained in:
parent
4b9bf30a5f
commit
70f6f8de3c
4 changed files with 119 additions and 8 deletions
2
app.js
2
app.js
|
|
@ -118,6 +118,7 @@ debugLog(`Default cacheId '${global.cacheId}'`);
|
|||
global.btcNodeSemver = "0.0.0";
|
||||
|
||||
|
||||
const cleanupRouter = require('./routes/cleanupRouter.js');
|
||||
const baseActionsRouter = require('./routes/baseRouter.js');
|
||||
const internalApiActionsRouter = require('./routes/internalApiRouter.js');
|
||||
const apiActionsRouter = require('./routes/apiRouter.js');
|
||||
|
|
@ -1153,6 +1154,7 @@ expressApp.use(csrfProtection, (req, res, next) => {
|
|||
next();
|
||||
});
|
||||
|
||||
expressApp.use(config.baseUrl, cleanupRouter);
|
||||
expressApp.use(config.baseUrl, baseActionsRouter);
|
||||
expressApp.use(config.baseUrl + 'internal-api/', internalApiActionsRouter);
|
||||
expressApp.use(config.baseUrl + 'api/', apiActionsRouter);
|
||||
|
|
|
|||
|
|
@ -979,7 +979,7 @@ function logError(errorId, err, optionalUserData = {}, logStacktrace=true) {
|
|||
};
|
||||
}
|
||||
|
||||
if (optionalUserData && err.message) {
|
||||
if (optionalUserData && err && err.message) {
|
||||
optionalUserData.errorMsg = err.message;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1360,13 +1360,6 @@ router.get("/block-analysis", function(req, res, next) {
|
|||
next();
|
||||
});
|
||||
|
||||
/*
|
||||
router.get("/tx/tx/:transactionId", asyncHandler(async (req, res, next) => {
|
||||
res.redirect(301, `${config.baseUrl}tx/${req.params.transactionId}`);
|
||||
|
||||
return;
|
||||
}));*/
|
||||
|
||||
router.get("/tx/:transactionId@:blockHeight", asyncHandler(async (req, res, next) => {
|
||||
req.query.blockHeight = req.params.blockHeight;
|
||||
req.url = "/tx/" + req.params.transactionId;
|
||||
|
|
|
|||
116
routes/cleanupRouter.js
Normal file
116
routes/cleanupRouter.js
Normal file
|
|
@ -0,0 +1,116 @@
|
|||
"use strict";
|
||||
|
||||
const debug = require("debug");
|
||||
const debugLog = debug("btcexp:cleanup");
|
||||
|
||||
const express = require('express');
|
||||
const csrfApi = require('csurf');
|
||||
const router = express.Router();
|
||||
const util = require('util');
|
||||
const moment = require('moment');
|
||||
const qrcode = require('qrcode');
|
||||
const bitcoinjs = require('bitcoinjs-lib');
|
||||
const bip32 = require('bip32');
|
||||
const bs58check = require('bs58check');
|
||||
const { bech32, bech32m } = require("bech32");
|
||||
const sha256 = require("crypto-js/sha256");
|
||||
const hexEnc = require("crypto-js/enc-hex");
|
||||
const Decimal = require("decimal.js");
|
||||
const semver = require("semver");
|
||||
const markdown = require("markdown-it")();
|
||||
const asyncHandler = require("express-async-handler");
|
||||
|
||||
const utils = require('./../app/utils.js');
|
||||
const coins = require("./../app/coins.js");
|
||||
const config = require("./../app/config.js");
|
||||
const coreApi = require("./../app/api/coreApi.js");
|
||||
const addressApi = require("./../app/api/addressApi.js");
|
||||
const rpcApi = require("./../app/api/rpcApi.js");
|
||||
const btcQuotes = require("./../app/coins/btcQuotes.js");
|
||||
|
||||
|
||||
|
||||
function logUrlError(req, type) {
|
||||
let userAgent = req.headers['user-agent'];
|
||||
|
||||
utils.logError(`DoubleUrl`, null, {"type": "block/block", "userAgent":userAgent}, false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
router.get("/block/block/:blockHash", asyncHandler(async (req, res, next) => {
|
||||
logUrlError(req, "block/block");
|
||||
|
||||
res.redirect(301, `${config.baseUrl}block/${req.params.blockHash}`);
|
||||
|
||||
return;
|
||||
}));
|
||||
|
||||
router.get("/block/address/:address", asyncHandler(async (req, res, next) => {
|
||||
logUrlError(req, "block/address");
|
||||
|
||||
res.redirect(301, `${config.baseUrl}address/${req.params.address}`);
|
||||
|
||||
return;
|
||||
}));
|
||||
|
||||
router.get("/block/tx/:txid", asyncHandler(async (req, res, next) => {
|
||||
logUrlError(req, "block/tx");
|
||||
|
||||
res.redirect(301, `${config.baseUrl}tx/${req.params.txid}`);
|
||||
|
||||
return;
|
||||
}));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
router.get("/tx/tx/:transactionId", asyncHandler(async (req, res, next) => {
|
||||
logUrlError(req, "tx/tx");
|
||||
|
||||
res.redirect(301, `${config.baseUrl}tx/${req.params.transactionId}`);
|
||||
|
||||
return;
|
||||
}));
|
||||
|
||||
router.get("/tx/block/:blockHash", asyncHandler(async (req, res, next) => {
|
||||
logUrlError(req, "block/tx");
|
||||
|
||||
res.redirect(301, `${config.baseUrl}block/${req.params.blockHash}`);
|
||||
|
||||
return;
|
||||
}));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
router.get("/block-height/address/:address", asyncHandler(async (req, res, next) => {
|
||||
logUrlError(req, "block-height/address");
|
||||
|
||||
res.redirect(301, `${config.baseUrl}address/${req.params.address}`);
|
||||
|
||||
return;
|
||||
}));
|
||||
|
||||
router.get("/block-height/tx/:txid", asyncHandler(async (req, res, next) => {
|
||||
logUrlError(req, "block-height/tx");
|
||||
|
||||
res.redirect(301, `${config.baseUrl}tx/${req.params.txid}`);
|
||||
|
||||
return;
|
||||
}));
|
||||
|
||||
router.get("/block-height/block-height/:blockHeight", asyncHandler(async (req, res, next) => {
|
||||
logUrlError(req, "block-height/block-height");
|
||||
|
||||
res.redirect(301, `${config.baseUrl}block-height/${req.params.blockHeight}`);
|
||||
|
||||
return;
|
||||
}));
|
||||
|
||||
|
||||
|
||||
module.exports = router;
|
||||
Loading…
Add table
Add a link
Reference in a new issue