@@ -2,7 +2,8 @@ use fastly::http::{header, Method};
22use fastly:: { Error , Request , Response } ;
33use serde_json:: json;
44
5- use crate :: constants:: { SYNTHETIC_HEADER_FRESH , SYNTHETIC_HEADER_TRUSTED_SERVER } ;
5+ use crate :: constants:: { HEADER_X_FORWARDED_FOR , HEADER_SYNTHETIC_FRESH , HEADER_SYNTHETIC_TRUSTED_SERVER } ;
6+ use crate :: http_wrapper:: RequestWrapper ;
67use crate :: settings:: Settings ;
78use crate :: synthetic:: generate_synthetic_id;
89
@@ -28,10 +29,10 @@ impl PrebidRequest {
2829 ///
2930 /// # Returns
3031 /// * `Result<Self, Error>` - New PrebidRequest or error
31- pub fn new ( settings : & Settings , req : & Request ) -> Result < Self , Error > {
32+ pub fn new < T : RequestWrapper > ( settings : & Settings , req : & T ) -> Result < Self , Error > {
3233 // Get the POTSI ID from header (which we just set in handle_prebid_test)
3334 let synthetic_id = req
34- . get_header ( SYNTHETIC_HEADER_TRUSTED_SERVER )
35+ . get_header ( HEADER_SYNTHETIC_TRUSTED_SERVER )
3536 . and_then ( |h| h. to_str ( ) . ok ( ) )
3637 . map ( |s| s. to_string ( ) )
3738 . unwrap_or_else ( || generate_synthetic_id ( settings, req) ) ;
@@ -41,7 +42,7 @@ impl PrebidRequest {
4142 . get_client_ip_addr ( )
4243 . map ( |ip| ip. to_string ( ) )
4344 . unwrap_or_else ( || {
44- req. get_header ( "X-Forwarded-For" )
45+ req. get_header ( HEADER_X_FORWARDED_FOR )
4546 . and_then ( |h| h. to_str ( ) . ok ( ) )
4647 . unwrap_or ( "" )
4748 . split ( ',' ) // X-Forwarded-For can be a comma-separated list
@@ -89,16 +90,16 @@ impl PrebidRequest {
8990 ///
9091 /// # Returns
9192 /// * `Result<Response, Error>` - Prebid Server response or error
92- pub async fn send_bid_request (
93+ pub async fn send_bid_request < T : RequestWrapper > (
9394 & self ,
9495 settings : & Settings ,
95- incoming_req : & Request ,
96+ incoming_req : & T ,
9697 ) -> Result < Response , Error > {
9798 let mut req = Request :: new ( Method :: POST , settings. prebid . server_url . to_owned ( ) ) ;
9899
99100 // Get and store the POTSI ID value from the incoming request
100101 let potsi_id = incoming_req
101- . get_header ( SYNTHETIC_HEADER_TRUSTED_SERVER )
102+ . get_header ( HEADER_SYNTHETIC_TRUSTED_SERVER )
102103 . and_then ( |h| h. to_str ( ) . ok ( ) )
103104 . map ( |s| s. to_string ( ) )
104105 . unwrap_or_else ( || self . synthetic_id . clone ( ) ) ;
@@ -169,8 +170,8 @@ impl PrebidRequest {
169170 req. set_header ( header:: CONTENT_TYPE , "application/json" ) ;
170171 req. set_header ( "X-Forwarded-For" , & self . client_ip ) ;
171172 req. set_header ( header:: ORIGIN , & self . origin ) ;
172- req. set_header ( SYNTHETIC_HEADER_FRESH , & self . synthetic_id ) ;
173- req. set_header ( SYNTHETIC_HEADER_TRUSTED_SERVER , & potsi_id) ;
173+ req. set_header ( HEADER_SYNTHETIC_FRESH , & self . synthetic_id ) ;
174+ req. set_header ( HEADER_SYNTHETIC_TRUSTED_SERVER , & potsi_id) ;
174175
175176 println ! (
176177 "Sending prebid request with Fresh ID: {} and POTSI ID: {}" ,
0 commit comments