File tree Expand file tree Collapse file tree 2 files changed +26
-10
lines changed
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/store/audit
hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a Expand file tree Collapse file tree 2 files changed +26
-10
lines changed Original file line number Diff line number Diff line change @@ -178,9 +178,24 @@ private HttpReferrerAuditHeader(
178178 // build the referrer up. so as to find/report problems early
179179 initialHeader = buildHttpReferrer ();
180180 }
181-
181+
182182 /**
183- * Build the referrer string.
183+ * Copy constructor.
184+ * Creates a deep copy of a HttpReferrerAuditHeader object
185+ */
186+ public HttpReferrerAuditHeader (HttpReferrerAuditHeader httpReferrerAuditHeader ) {
187+ this .contextId = requireNonNull (httpReferrerAuditHeader .contextId );
188+ this .evaluated = new ConcurrentHashMap <>(httpReferrerAuditHeader .evaluated );
189+ this .filter = ImmutableSet .copyOf (httpReferrerAuditHeader .filter );
190+ this .operationName = requireNonNull (httpReferrerAuditHeader .operationName );
191+ this .path1 = httpReferrerAuditHeader .path1 ;
192+ this .path2 = httpReferrerAuditHeader .path2 ;
193+ this .spanId = requireNonNull (httpReferrerAuditHeader .spanId );
194+ this .attributes = new ConcurrentHashMap <>(httpReferrerAuditHeader .attributes );
195+ this .initialHeader = httpReferrerAuditHeader .initialHeader ;
196+ }
197+
198+ /* Build the referrer string.
184199 * This includes dynamically evaluating all of the evaluated
185200 * attributes.
186201 * If there is an error creating the string it will be logged once
Original file line number Diff line number Diff line change 44import org .apache .hadoop .fs .store .audit .HttpReferrerAuditHeader ;
55import software .amazon .s3 .analyticsaccelerator .request .AuditHeaders ;
66
7+ import static org .apache .hadoop .fs .audit .AuditConstants .PARAM_THREAD0 ;
8+ import static org .apache .hadoop .fs .audit .AuditConstants .PARAM_TIMESTAMP ;
9+ import static org .apache .hadoop .fs .audit .CommonAuditContext .currentThreadID ;
10+
711public class S3AAuditHeaders implements AuditHeaders {
812
9- HttpReferrerAuditHeader referrer ;
13+ private final HttpReferrerAuditHeader referrer ;
1014
1115 public S3AAuditHeaders (HttpReferrerAuditHeader referrer ) {
1216 this .referrer = referrer ;
1317 }
1418
1519 @ Override
16- public void setGetRange (String range ) {
17- referrer .set (AuditConstants .PARAM_RANGE , range );
18- }
19-
20- @ Override
21- public String buildReferrerHeader () {
22- return referrer .buildHttpReferrer ();
20+ public String modifyAndBuildReferrerHeader (String range ) {
21+ HttpReferrerAuditHeader copyReferrer = new HttpReferrerAuditHeader (this .referrer );
22+ copyReferrer .set (AuditConstants .PARAM_RANGE , range );
23+ return copyReferrer .buildHttpReferrer ();
2324 }
2425}
You can’t perform that action at this time.
0 commit comments