@@ -17,7 +17,7 @@ import {
1717 SubstackItem ,
1818} from "./types" ;
1919
20- const CORS_PROXY = "https://api.allorigins.win /get?url=" ;
20+ const CORS_PROXY = "https://www.whateverorigin.org /get?url=" ;
2121const isBrowser = typeof document !== "undefined" ;
2222
2323// Internal API
@@ -95,16 +95,16 @@ const transformRawGoodreadsItem = (item: RawGoodreadsItem): GoodreadsItem => {
9595 return {
9696 title : item . title [ 0 ] ,
9797 link : item . link [ 0 ] ,
98- book_image_url : item [ "book_image_url " ] [ 0 ] ,
98+ book_image_url : item [ "book_large_image_url " ] [ 0 ] ,
9999 author_name : item [ "author_name" ] [ 0 ] ,
100100 book_description : item [ "book_description" ] [ 0 ] ,
101101 } ;
102102} ;
103103// Internal API
104- const getRawXMLGoodreadsFeed = async ( feedUrl : string ) => {
104+ const getRawXMLGoodreadsFeed = async ( feedUrl : string , proxy ?: string ) => {
105105 try {
106106 const path = isBrowser
107- ? `${ CORS_PROXY } ${ encodeURIComponent ( feedUrl ) } `
107+ ? `${ proxy ?? CORS_PROXY } ${ encodeURIComponent ( feedUrl ) } `
108108 : feedUrl ;
109109 const promise = await fetch ( path ) ;
110110 if ( promise . ok ) return isBrowser ? promise . json ( ) : promise . text ( ) ;
@@ -118,8 +118,9 @@ export const getGoodreadsFeed = async (
118118 feedUrl : string ,
119119 /* eslint-disable @typescript-eslint/no-explicit-any */
120120 callback ?: ( err : Error | null , result : unknown ) => void ,
121+ proxy ?: string ,
121122) : Promise < unknown > => {
122- const rawXML = await getRawXMLGoodreadsFeed ( feedUrl ) ;
123+ const rawXML = await getRawXMLGoodreadsFeed ( feedUrl , proxy ) ;
123124 // NOTE: server side call
124125 if ( ! isBrowser ) {
125126 return parseXML ( rawXML , callback ) ;
0 commit comments