@mcma/api
Advanced tools
Comparing version 0.7.9 to 0.8.0
@@ -75,3 +75,2 @@ import { ContextVariableProvider, McmaTracker, Resource, ResourceType } from "@mcma/core"; | ||
body?: any; | ||
} | ||
@@ -99,3 +98,3 @@ | ||
setResponseCode(statusCode: number | HttpStatusCode, statusMessage?: string): void; | ||
setResponseStatusCode(statusCode: number | HttpStatusCode, statusMessage?: string): void; | ||
setResponseBody<T extends Resource>(resource: T): void; | ||
@@ -106,2 +105,4 @@ | ||
setResponseResourceNotFound(): void; | ||
getTracker(): McmaTracker; | ||
} | ||
@@ -108,0 +109,0 @@ |
@@ -1,2 +0,3 @@ | ||
const { ContextVariableProvider } = require("@mcma/core"); | ||
const { ContextVariableProvider, Exception, McmaTracker, Logger, Utils } = require("@mcma/core"); | ||
const { McmaHeaders } = require("@mcma/client"); | ||
const { HttpStatusCode } = require("./http-statuses"); | ||
@@ -62,2 +63,23 @@ | ||
} | ||
getTracker() { | ||
// try to get the tracker from the headers or query string first | ||
const headerOrQueryParam = | ||
(this.request && this.request.headers && this.request.headers[McmaHeaders.tracker]) || | ||
(this.request && this.request.queryStringParameters && this.request.queryStringParameters[McmaHeaders.tracker]); | ||
if (headerOrQueryParam) { | ||
try { | ||
const trackerDataJson = Utils.fromBase64(headerOrQueryParam); | ||
if (trackerDataJson) { | ||
return new McmaTracker(JSON.parse(trackerDataJson)); | ||
} | ||
} catch (e) { | ||
Logger.warn(`Failed to convert text in header or query param 'mcmaTracker' to an McmaTracker object. Error: ${e}`); | ||
throw new Exception("Invalid MCMA tracker.", e, this.request); | ||
} | ||
} | ||
// if we didn't find it in the header or query string, try the body | ||
return this.request && this.request.body && this.request.body.tracker; | ||
} | ||
} | ||
@@ -64,0 +86,0 @@ |
{ | ||
"name": "@mcma/api", | ||
"version": "0.7.9", | ||
"version": "0.8.0", | ||
"description": "Node module for building APIs based on the EBU MCMA framework", | ||
@@ -34,12 +34,12 @@ "engines": { | ||
"peerDependencies": { | ||
"@mcma/client": "0.7.9", | ||
"@mcma/core": "0.7.9", | ||
"@mcma/data": "0.7.9" | ||
"@mcma/client": "0.8.0", | ||
"@mcma/core": "0.8.0", | ||
"@mcma/data": "0.8.0" | ||
}, | ||
"devDependencies": { | ||
"@mcma/client": "0.7.9", | ||
"@mcma/core": "0.7.9", | ||
"@mcma/data": "0.7.9", | ||
"@mcma/client": "0.8.0", | ||
"@mcma/core": "0.8.0", | ||
"@mcma/data": "0.8.0", | ||
"jasmine": "^3.2.0" | ||
} | ||
} |
39453
947