@@ -23,20 +23,22 @@ const getLanguages = (langs) => {
2323 }
2424} ;
2525
26- const DEV = process . env . DEV
26+ const DEV = process . env . DEV ;
2727const LANGUAGE_TOOL = process . env . LANGUAGE_TOOL ;
28+ const LANGUAGE_TOOL_PICKY = process . env . LANGUAGE_TOOL_PICKY ;
2829const LIBRETRANSLATE = process . env . LIBRETRANSLATE ;
2930const OLLAMA = process . env . OLLAMA ;
3031const OLLAMA_MODEL = process . env . OLLAMA_MODEL ;
3132const THEME = process . env . THEME ;
33+ const DEBUG = process . env . DEBUG ;
3234const LIBRETRANSLATE_API_KEY = process . env . LIBRETRANSLATE_API_KEY ;
3335const LIBRETRANSLATE_LANGUAGES = getLanguages (
3436 process . env . LIBRETRANSLATE_LANGUAGES
3537) ;
3638const LANGUAGE_TOOL_LANGUAGES = getLanguages (
3739 process . env . LANGUAGE_TOOL_LANGUAGES
3840) ;
39- const DISABLE_DICTIONARY = process . env . DISABLE_DICTIONARY === ' true'
41+ const DISABLE_DICTIONARY = process . env . DISABLE_DICTIONARY === " true" ;
4042
4143const maskString = ( str ) => {
4244 if ( ! str || str . length <= 3 ) {
@@ -60,23 +62,35 @@ LANGUAGE_TOOL_LANGUAGES: ${JSON.stringify(LANGUAGE_TOOL_LANGUAGES)}
6062LIBRETRANSLATE_LANGUAGES: ${ JSON . stringify ( LIBRETRANSLATE_LANGUAGES ) }
6163DICTIONARY_DISABLED: ${ ! ! DISABLE_DICTIONARY }
6264DEV_MODE: ${ ! ! DEV }
65+ DEBUG_MODE: ${ ! ! DEBUG }
6366========================
6467` ) ;
6568
6669app . use ( bodyParser . urlencoded ( { extended : false } ) ) ;
6770app . use ( bodyParser . json ( ) ) ;
6871
6972const handleProxyGET = ( url , res , filter ) => {
73+ if ( DEBUG ) {
74+ console . log ( `Calling: ${ url } ` ) ;
75+ }
7076 fetch ( url )
7177 . then ( ( data ) => data . json ( ) )
72- . then ( ( data ) => res . send ( filter ? filter ( data ) : data ) )
78+ . then ( ( data ) => {
79+ if ( DEBUG ) {
80+ console . log ( data ) ;
81+ }
82+ return res . send ( filter ? filter ( data ) : data ) ;
83+ } )
7384 . catch ( ( error ) => {
7485 console . error ( "[PROXY GET ERROR]" , error ) ;
75- res . status ( 500 ) . send ( ' Internal server error' ) ;
86+ res . status ( 500 ) . send ( " Internal server error" ) ;
7687 } ) ;
7788} ;
7889
7990const handleProxyPost = ( url , req , res ) => {
91+ if ( DEBUG ) {
92+ console . log ( `Calling: ${ url } ` ) ;
93+ }
8094 fetch ( url , {
8195 method : "POST" ,
8296 body : JSON . stringify ( req . body ) ,
@@ -86,15 +100,18 @@ const handleProxyPost = (url, req, res) => {
86100 return data . json ( ) ;
87101 } )
88102 . then ( ( data ) => {
103+ if ( DEBUG ) {
104+ console . log ( data ) ;
105+ }
89106 res . send ( data ) ;
90107 } )
91108 . catch ( ( error ) => {
92109 console . log ( { error, url } ) ;
93- res . status ( 500 ) . send ( ' Internal server error' ) ;
110+ res . status ( 500 ) . send ( " Internal server error" ) ;
94111 } ) ;
95112} ;
96113
97- const handleFormDataPost = ( url , req , res , filter ) => {
114+ const handleFormDataPost = ( url , req , res , filter , additionalData ) => {
98115 const headers = {
99116 "Content-Type" : "application/x-www-form-urlencoded" ,
100117 Accept : "application/json" ,
@@ -105,18 +122,30 @@ const handleFormDataPost = (url, req, res, filter) => {
105122 keys . forEach ( ( key ) => {
106123 formData . append ( key , req . body [ key ] ) ;
107124 } ) ;
125+ if ( additionalData ) {
126+ Object . keys ( additionalData ) . forEach ( ( key ) => {
127+ formData . append ( key , additionalData [ key ] ) ;
128+ } ) ;
129+ }
130+ if ( DEBUG ) {
131+ console . log ( `Calling: ${ url } ` ) ;
132+ console . log ( { formData } ) ;
133+ }
108134 return fetch ( url , {
109135 method : "POST" ,
110136 headers : headers ,
111137 body : formData . toString ( ) ,
112138 } )
113139 . then ( ( data ) => data . json ( ) )
114140 . then ( ( data ) => {
141+ if ( DEBUG ) {
142+ console . log ( data ) ;
143+ }
115144 res . send ( filter ? filter ( data ) : data ) ;
116145 } )
117146 . catch ( ( error ) => {
118147 console . log ( { error : error . message , url } ) ;
119- res . status ( 500 ) . send ( ' Internal server error' ) ;
148+ res . status ( 500 ) . send ( " Internal server error" ) ;
120149 } ) ;
121150} ;
122151
@@ -127,7 +156,7 @@ app.get("/api/status", (req, res) => {
127156 OLLAMA ,
128157 OLLAMA_MODEL ,
129158 THEME ,
130- DISABLE_DICTIONARY
159+ DISABLE_DICTIONARY ,
131160 } ) ;
132161} ) ;
133162
@@ -183,14 +212,24 @@ app.post("/api/languagetool/check", (req, res) => {
183212 } ;
184213
185214 const targetFilter = DISABLE_DICTIONARY ? filter : false ;
186- handleFormDataPost ( `${ LANGUAGE_TOOL } /v2/check` , req , res , targetFilter ) ;
215+ handleFormDataPost (
216+ `${ LANGUAGE_TOOL } /v2/check` ,
217+ req ,
218+ res ,
219+ targetFilter ,
220+ LANGUAGE_TOOL_PICKY
221+ ? {
222+ level : "picky" ,
223+ }
224+ : { }
225+ ) ;
187226} ) ;
188227
189228app . post ( "/api/languagetool/add" , ( req , res ) => {
190229 if ( DISABLE_DICTIONARY ) {
191- res . status ( 403 ) . send ( )
230+ res . status ( 403 ) . send ( ) ;
192231 return ;
193- }
232+ }
194233 try {
195234 addWord ( `${ req . body . word } ` . toLowerCase ( ) ) ;
196235 console . log ( "added:" , `${ req . body . word } ` . toLowerCase ( ) ) ;
0 commit comments