@@ -30,7 +30,7 @@ import {
3030 removeFromSeoRouteMap ,
3131 removeFromStructure ,
3232} from '../utils'
33- import { FSXAApiErrors , HttpStatus } from './../enums'
33+ import { FSXAApiErrors , FSXAContentMode , HttpStatus } from './../enums'
3434import { LogLevel } from './Logger'
3535import { denormalizeResolvedReferences } from './MappingUtils'
3636import { ComparisonQueryOperatorEnum , QueryBuilder } from './QueryBuilder'
@@ -74,6 +74,7 @@ export class FSXARemoteApi implements FSXAApi {
7474 private _caasItemFilter ?: CaasItemFilter
7575 private _logLevel : LogLevel
7676 private _enableEventStream : boolean = false
77+ private _includeRevisionInMediaUrls : boolean = false
7778
7879 /**
7980 * The constructor of this class initializes the configuration for the api.
@@ -90,6 +91,7 @@ export class FSXARemoteApi implements FSXAApi {
9091 * @param config.customMapper optional {@link CustomMapper CustomMapper}
9192 * @param config.filterOptions optional {@link RemoteApiFilterOptions RemoteApiFilterOptions} (EXPERIMENTAL)
9293 * @param config.logLevel the used {@link LogLevel LogLevel} for the API `(default LogLevel.ERROR)` - optional
94+ * @param config.includeRevisionInMediaUrls whether to append `rev` query param to media URLs `(default: true in preview, false in release)`
9395 */
9496 constructor ( {
9597 apikey,
@@ -103,6 +105,7 @@ export class FSXARemoteApi implements FSXAApi {
103105 customMapper,
104106 filterOptions,
105107 logLevel = LogLevel . ERROR ,
108+ includeRevisionInMediaUrls = contentMode === FSXAContentMode . PREVIEW , // default to true in preview, false in release
106109 } : FSXARemoteApiConfig ) {
107110 this . apikey = apikey
108111 this . caasURL = caasURL
@@ -118,6 +121,7 @@ export class FSXARemoteApi implements FSXAApi {
118121 this . _queryBuilder = new QueryBuilder ( this . _logger )
119122 this . _navigationItemFilter = filterOptions ?. navigationItemFilter
120123 this . _caasItemFilter = filterOptions ?. caasItemFilter
124+ this . _includeRevisionInMediaUrls = includeRevisionInMediaUrls
121125
122126 this . _logger . debug ( 'FSXARemoteApi created' , {
123127 caasURL,
@@ -129,6 +133,7 @@ export class FSXARemoteApi implements FSXAApi {
129133 customMapper : this . _customMapper ,
130134 navigationItemFilter : this . _navigationItemFilter ,
131135 caasItemFilter : this . _caasItemFilter ,
136+ includeRevisionInMediaUrls : this . _includeRevisionInMediaUrls
132137 } )
133138 }
134139
@@ -635,7 +640,7 @@ export class FSXARemoteApi implements FSXAApi {
635640 mapperLocale ,
636641 {
637642 customMapper : this . _customMapper ,
638- maxReferenceDepth : this . _maxReferenceDepth ,
643+ maxReferenceDepth : this . _maxReferenceDepth
639644 } ,
640645 new Logger ( this . _logLevel , 'CaaSMapper' )
641646 )
@@ -1043,6 +1048,20 @@ export class FSXARemoteApi implements FSXAApi {
10431048 this . _contentMode = value
10441049 }
10451050
1051+ /**
1052+ * @returns whether revision query parameter `rev` is appended to media URLs
1053+ */
1054+ public get includeRevisionInMediaUrls ( ) {
1055+ return this . _includeRevisionInMediaUrls
1056+ }
1057+
1058+ /**
1059+ * Sets whether revision query parameter `rev` is appended to media URLs
1060+ */
1061+ public set includeRevisionInMediaUrls ( value : boolean ) {
1062+ this . _includeRevisionInMediaUrls = value
1063+ }
1064+
10461065 /**
10471066 * @returns the configured log level
10481067 */
0 commit comments