import{k as e,m as t,r as a,n as r,o as s,c as n,A as l,s as i,v as u,B as o,g as d,y as m,d as v,D as c,L as p,R as y}from"./rsa-plugins-common.min.js";import{R}from"./rsa-plugins-RetryQueue.min.js";const h={maxRetryDelay:36e4,minRetryDelay:1e3,backoffFactor:2,maxAttempts:10,maxItems:100},A="v1",f=(e,t,a)=>i({batch:e,sentAt:t},!0,void 0,a),g=(e,t)=>{const r=new URL(e);return new URL(a([r.pathname,"/",A,"/",t].join("")),r).href},$=(t,a,r,s)=>{var n,l;if(!s)return;let i=(u="XhrQueuePlugin",o=null!==(n=null==t||null===(l=t.error)||void 0===l?void 0:l.message)&&void 0!==n?n:"Unknown",`${u}${e}Failed to deliver event(s). Cause: ${o}.`);var u,o;const d="The event(s) will be dropped.";a?r.willBeRetried?(i=`${i} The event(s) will be retried.`,r.retryAttemptNumber>0&&(i=`${i} Retry attempt ${r.retryAttemptNumber} of ${r.maxRetryAttempts}.`),s.warn(i)):s.error(`${i} Retries exhausted (${r.maxRetryAttempts}). ${d}`):s.error(`${i} ${d}`)},w=(e,t,a,i)=>{let u,o,d;const m=r();if(Array.isArray(e)){const a=e.map((e=>s(e.event,m)));u=f(a,m,i),o=e[0]?n(e[0].headers):{},v=t.lifecycle.activeDataplaneUrl.value,d=g(v,"batch")}else{const{url:t,event:a,headers:r}=e,v=s(a,m);u=l(v,i),o=n(r),d=t}var v;return o.SentAt=m,a.reclaimed&&(o["Rsa-Recovered"]="true"),a.retryAttemptNumber>0&&(o["Rsa-Retry-Attempt"]=a.retryAttemptNumber.toString(),o["Rsa-Since-Last-Attempt"]=a.timeSinceLastAttempt.toString(),o["Rsa-Since-First-Attempt"]=a.timeSinceFirstAttempt.toString(),o["Rsa-Retry-Reason"]=a.retryReason),{data:u,headers:o,url:d}},b="XhrQueue",x=()=>({name:b,deps:[],initialize:e=>{e.plugins.loadedPlugins.value=[...e.plugins.loadedPlugins.value,b]},dataplaneEventsQueue:{init(e,a,s,n,l){const i=e.lifecycle.writeKey.value;a.setAuthHeader(i);const u=(o=e.loadOptions.value.queueOptions,t(h,o));var o;return new R(`rudder_${i}`,u,((t,r,s)=>{const{data:n,url:i,headers:u}=w(t,e,s,l);a.getAsyncData({url:i,options:{method:"POST",headers:u,data:n,sendRawData:!0},isRawResponse:!0,timeout:3e4,callback:(e,t)=>{var a,n;if(d(null==t?void 0:t.error))return void r(null);const i=m(null!==(a=null==t||null===(n=t.xhr)||void 0===n?void 0:n.status)&&void 0!==a?a:0);if($(t,i,s,l),i){var u;let e=c;null!=t&&t.timedOut?e=y:v(null==t||null===(u=t.xhr)||void 0===u?void 0:u.status)&&(e=`server-${t.xhr.status}`),r(t,{retryReason:e})}else r(null)}})}),s,p,l,(e=>{var t;const a=r(),s=e.map((e=>e.event));return null===(t=f(s,a,l))||void 0===t?void 0:t.length}))},enqueue(e,t,a,s,n){a.sentAt=r(),u(a,n);const l=e.lifecycle.activeDataplaneUrl.value,i=g(l,a.type),d={AnonymousId:o(a.anonymousId)};t.addItem({url:i,headers:d,event:a})}}});export{x as XhrQueue,x as default}; //# sourceMappingURL=rsa-plugins-remote-XhrQueue.min.js.map