MCPcopy Index your code
hub / github.com/scality/cloudserver / logCopySourceAccess

Function logCopySourceAccess

lib/utilities/serverAccessLogger.js:703–741  ·  view source on GitHub ↗

* Logs a REST.COPY.OBJECT_GET or REST.COPY.PART_GET entry for the source side of copy operations * @param {object} req - HTTP request object * @param {string} requestID - Request ID from the response * @param {string} operation - Operation name ('REST.COPY.OBJECT_GET' or 'REST.COPY.PART_GET') *

(req, requestID, operation, sourceBucket, sourceObject, objectSize)

Source from the content-addressed store, hash-verified

701 * @return {undefined}
702 */
703function logCopySourceAccess(req, requestID, operation, sourceBucket, sourceObject, objectSize) {
704 if (!req.sourceServerAccessLog || !serverAccessLogger) {
705 return;
706 }
707
708 const params = req.sourceServerAccessLog;
709 const error = params.error;
710 let httpCode = 200;
711 let errorCode = undefined;
712
713 if (error) {
714 httpCode = error.code ? parseInt(error.code, 10) : 500;
715 errorCode = error.message || 'InternalError';
716 }
717
718 // Copy over necessary fields from main serverAccessLog
719 if (req.serverAccessLog) {
720 params.authInfo = req.serverAccessLog.authInfo;
721 params.startTime = req.serverAccessLog.startTime;
722 params.startTimeUnixMS = req.serverAccessLog.startTimeUnixMS;
723 params.startTurnAroundTime = req.serverAccessLog.startTurnAroundTime;
724 params.onFinishEndTime = req.serverAccessLog.onFinishEndTime;
725 params.analyticsAccountName = req.serverAccessLog.analyticsAccountName;
726 params.analyticsUserName = req.serverAccessLog.analyticsUserName;
727 params.analyticsAction = req.serverAccessLog.analyticsAction;
728 }
729
730 const logEntry = buildLogEntry(req, params, {
731 operation,
732 objectKey: sourceObject,
733 objectSize,
734 httpCode,
735 errorCode,
736 requestID,
737 aclRequired: params.aclRequired,
738 });
739
740 serverAccessLogger.write(`${JSON.stringify(logEntry)}\n`);
741}
742
743module.exports = {
744 logServerAccess,

Callers 1

logServerAccessFunction · 0.85

Calls 2

buildLogEntryFunction · 0.85
writeMethod · 0.80

Tested by

no test coverage detected