mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-03-04 03:21:18 +01:00
refactor: remove sockets.reqFromSocket
This commit is contained in:
30
src/api/helpers.js
Normal file
30
src/api/helpers.js
Normal file
@@ -0,0 +1,30 @@
|
||||
'use strict';
|
||||
|
||||
const url = require('url');
|
||||
|
||||
// creates a slimmed down version of the request object
|
||||
exports.buildReqObject = (req, payload) => {
|
||||
req = req || {};
|
||||
const headers = req.headers || {};
|
||||
const encrypted = req.connection ? !!req.connection.encrypted : false;
|
||||
let host = headers.host;
|
||||
const referer = headers.referer || '';
|
||||
|
||||
if (!host) {
|
||||
host = url.parse(referer).host || '';
|
||||
}
|
||||
|
||||
return {
|
||||
uid: req.uid,
|
||||
params: req.params,
|
||||
method: req.method,
|
||||
body: payload || req.body,
|
||||
ip: req.ip,
|
||||
host: host,
|
||||
protocol: encrypted ? 'https' : 'http',
|
||||
secure: encrypted,
|
||||
url: referer,
|
||||
path: referer.substr(referer.indexOf(host) + host.length),
|
||||
headers: headers,
|
||||
};
|
||||
};
|
||||
@@ -7,7 +7,7 @@ const meta = require('../meta');
|
||||
const events = require('../events');
|
||||
const privileges = require('../privileges');
|
||||
|
||||
const controllerHelpers = require('../controllers/helpers');
|
||||
const apiHelpers = require('./helpers');
|
||||
const socketHelpers = require('../socket.io/helpers');
|
||||
|
||||
const topicsAPI = module.exports;
|
||||
@@ -21,7 +21,7 @@ topicsAPI.create = async function (caller, data) {
|
||||
payload.tags = payload.tags || [];
|
||||
payload.uid = caller.uid;
|
||||
payload.uid = caller.uid;
|
||||
payload.req = controllerHelpers.buildReqObject(caller);
|
||||
payload.req = apiHelpers.buildReqObject(caller);
|
||||
payload.timestamp = Date.now();
|
||||
payload.fromQueue = false;
|
||||
|
||||
@@ -46,7 +46,7 @@ topicsAPI.reply = async function (caller, data) {
|
||||
var payload = {
|
||||
tid: data.tid,
|
||||
uid: caller.uid,
|
||||
req: controllerHelpers.buildReqObject(caller), // For IP recording
|
||||
req: apiHelpers.buildReqObject(caller), // For IP recording
|
||||
content: data.content,
|
||||
timestamp: data.timestamp,
|
||||
fromQueue: false,
|
||||
|
||||
Reference in New Issue
Block a user