11const trpcController = {
2- makeFetch : async ( args , event , reqResObj ) => {
3- try {
4- const { method, headers, body } = args . options ;
5- const response = await fetch ( headers . url , { method, headers, body } ) ;
6- const headersResponse = response . headers . raw ( ) ;
7- event . sender . send ( 'console' , 'WHATS UP' ) ;
8- if ( headersResponse [ 'content-type' ] [ 0 ] . includes ( 'stream' ) ) {
9- return {
10- headers : headersResponse ,
11- body : { error : 'This Is An SSE endpoint' } ,
12- } ;
13- }
14-
15- headersResponse [ ':status' ] = response . status ;
16- const receivedCookie = headersResponse [ 'set-cookie' ] ;
17- headersResponse . cookies = receivedCookie ;
18-
19- const contentType = response . headers . get ( 'content-type' ) ;
20- const contents = / j s o n / . test ( contentType )
21- ? await response . json ( )
22- : await response . text ( ) ;
23-
24- return {
25- headers : headersResponse ,
26- body : contents ,
27- } ;
28- } catch ( error ) {
29- reqResObj . connection = 'error' ;
30- reqResObj . error = error ;
31- reqResObj . response . events . push ( error ) ;
32- event . sender . send ( 'reqResUpdate' , reqResObj ) ;
33- throw error ;
34- }
2+ makeFetch : async ( reqRes , get , post ) => {
3+ const { cache, headers, method, redirect, referrer, url } = get ;
4+ console . log ( get , post ) ;
5+ const getRes = await fetch ( url , {
6+ cache,
7+ headers,
8+ method,
9+ redirect,
10+ referrer,
11+ } ) ;
12+ const getData = await getRes . json ( ) ;
13+ console . log ( getData ) ;
14+ const resHeader = { } ;
15+ getRes . headers . forEach ( ( value , key ) => {
16+ resHeader [ key ] = value ;
17+ } ) ;
18+ console . log ( resHeader ) ;
3519 } ,
36- parseOptionForFetch ( reqResObject , method , postProcedure ) {
20+ parseOptionForFetch ( reqResObject , method , procedures ) {
3721 function parseString ( str ) {
3822 if ( str === 'true' ) {
3923 return true ;
@@ -49,7 +33,7 @@ const trpcController = {
4933
5034 try {
5135 const parsedJson = JSON . parse ( str . replace ( / \s / g, '' ) ) ;
52- console . log ( parsedJson ) ;
36+
5337 if ( typeof parsedJson === 'object' && parsedJson !== null ) {
5438 return parsedJson ;
5539 } else {
@@ -59,18 +43,16 @@ const trpcController = {
5943 return JSON . parse ( str ) ;
6044 }
6145 }
62- const { headers, cookies } = reqResObject . request ;
46+ const { headers, cookie } = reqResObject . request ;
6347
64- const formattedHeaders = {
65- url : reqResObject . url ,
66- } ;
48+ const formattedHeaders = { } ;
6749 headers . forEach ( ( head ) => {
6850 if ( head . active ) {
6951 formattedHeaders [ head . key ] = head . value ;
7052 }
7153 } ) ;
72- if ( cookies ) {
73- cookies . forEach ( ( cookie ) => {
54+ if ( cookie ) {
55+ cookie . forEach ( ( cookie ) => {
7456 const cookieString = `${ cookie . key } =${ cookie . value } ` ;
7557 // attach to formattedHeaders so options object includes this
7658
@@ -89,42 +71,62 @@ const trpcController = {
8971 redirect : 'follow' , // manual, *follow, error
9072 referrer : 'no-referrer' , // no-referrer, *client
9173 } ;
92- let endPoint = '' ;
74+ let url = '' ;
75+ const body = { } ;
76+ procedures . forEach ( ( procedure , index ) => {
77+ if ( procedure . variable ) {
78+ body [ index ] = parseString ( procedure . variable ) ;
79+ } else {
80+ body [ index ] = { } ;
81+ }
82+ url = url ? url + ',' + procedure . endpoint : procedure . endpoint ;
83+ } ) ;
9384 if ( method === 'POST' ) {
94- const body = { } ;
95-
96- postProcedure . forEach ( ( procedure , index ) => {
97- if ( procedure . variable ) {
98- body [ index ] = parseString ( procedure . variable ) ;
99- } else {
100- body [ index ] = { } ;
101- }
102- endPoint = endPoint
103- ? endPoint + ',' + procedure . endpoint
104- : procedure . endpoint ;
105- } ) ;
85+ url = reqResObject . url + '/' + url + '?batch=1' ;
10686 outputObj . body = body ;
10787 } else {
108- const input = '' ;
88+ url =
89+ reqResObject . url +
90+ '/' +
91+ url +
92+ '?batch=1' +
93+ `&input=${ encodeURIComponent ( JSON . stringify ( body ) ) } ` ;
10994 }
110- outputObj . endPoint = endPoint ;
95+ outputObj . url = url ;
11196 return outputObj ;
11297 } ,
11398
114- sendRequest : function ( reqRes ) {
115- console . log ( reqRes ) ;
99+ sendRequest : async function ( reqRes ) {
116100 const procedures = reqRes . request . procedures ;
117101 const getReq = procedures . filter (
118102 ( procedure ) => procedure . method === 'QUERY'
119103 ) ;
120104 const postReq = procedures . filter (
121105 ( procedure ) => procedure . method === 'MUTATE'
122106 ) ;
123- console . log ( getReq ) ;
124- const getOption = this . parseOptionForFetch ( reqRes , 'GET' , getReq ) ;
125- const postOption = this . parseOptionForFetch ( reqRes , 'POST' , postReq ) ;
126107
127- console . log ( getOption , postOption ) ;
108+ const getOption = getReq . length
109+ ? this . parseOptionForFetch ( reqRes , 'GET' , getReq )
110+ : false ;
111+ const postOption = postReq . length
112+ ? this . parseOptionForFetch ( reqRes , 'POST' , postReq )
113+ : false ;
114+
115+ const updatedReqRes = await this . makeFetch ( reqRes , getOption , postOption ) ;
116+ // const data = await fetch(reqRes.url + '/' + getOption.endPoint);
117+ // const res = await data.json();
118+ // const resHeader = {};
119+ // data.headers.forEach((value, key) => {
120+ // resHeader[key] = value;
121+ // });
122+ // console.log(header);
123+
124+ // const postData = await fetch(reqRes.url + '/' + postOption.endPoint, {
125+ // method: 'POST',
126+ // body: JSON.stringify(postOption.body),
127+ // });
128+ // const postRes = await postData.json();
129+ // console.log(res, postRes);
128130 } ,
129131} ;
130132
0 commit comments