Skip to content

Instantly share code, notes, and snippets.

View rohanbojja's full-sized avatar
:octocat:
Working from home

Rohan Bojja rohanbojja

:octocat:
Working from home
View GitHub Profile
@rohanbojja
rohanbojja / oc_server.js
Last active September 25, 2025 12:16
oc_server
var zc=Object.defineProperty;var Qc=(c,f)=>{for(var $ in f)zc(c,$,{get:f[$],enumerable:!0,configurable:!0,set:(j)=>f[$]=()=>j})};var q=({onSseError:c,onSseEvent:f,responseTransformer:$,responseValidator:j,sseDefaultRetryDelay:S,sseMaxRetryAttempts:g,sseMaxRetryDelay:N,sseSleepFn:b,url:O,...x})=>{let u,W=b??((h)=>new Promise((z)=>setTimeout(z,h)));return{stream:async function*(){let h=S??3000,z=0,T=x.signal??new AbortController().signal;while(!0){if(T.aborted)break;z++;let J=x.headers instanceof Headers?x.headers:new Headers(x.headers);if(u!==void 0)J.set("Last-Event-ID",u);try{let V=await fetch(O,{...x,headers:J,signal:T});if(!V.ok)throw Error(`SSE failed: ${V.status} ${V.statusText}`);if(!V.body)throw Error("No body in SSE response");let G=V.body.pipeThrough(new TextDecoderStream).getReader(),B="",E=()=>{try{G.cancel()}catch{}};T.addEventListener("abort",E);try{while(!0){let{done:Bc,value:Wc}=await G.read();if(Bc)break;B+=Wc;let k=B.split(`
`);B=k.pop()??"";for(let Tc of k){let mc=Tc.split(`
`),D=[],y;for(l