@@ -901,6 +901,42 @@ void respond_request(http_request_t *req) {
901901 return ;
902902 }
903903
904+ if (EQUALS (req -> uri , "/api/isp" )) {
905+ if (!EMPTY (req -> query )) {
906+ char * remain ;
907+ while (req -> query ) {
908+ char * value = split (& req -> query , "&" );
909+ if (!value || !* value ) continue ;
910+ unescape_uri (value );
911+ char * key = split (& value , "=" );
912+ if (!key || !* key || !value || !* value ) continue ;
913+ if (EQUALS (key , "mirror" )) {
914+ if (EQUALS_CASE (value , "true" ) || EQUALS (value , "1" ))
915+ app_config .mirror = 1 ;
916+ else if (EQUALS_CASE (value , "false" ) || EQUALS (value , "0" ))
917+ app_config .mirror = 0 ;
918+ } else if (EQUALS (key , "flip" )) {
919+ if (EQUALS_CASE (value , "true" ) || EQUALS (value , "1" ))
920+ app_config .flip = 1 ;
921+ else if (EQUALS_CASE (value , "false" ) || EQUALS (value , "0" ))
922+ app_config .flip = 0 ;
923+ } else if (EQUALS (key , "antiflicker" )) {
924+ app_config .antiflicker = strtol (value , & remain , 10 );
925+ }
926+ }
927+ }
928+ respLen = sprintf (response ,
929+ "HTTP/1.1 200 OK\r\n"
930+ "Content-Type: application/json;charset=UTF-8\r\n"
931+ "Connection: close\r\n"
932+ "\r\n"
933+ "{\"mirror\":%s, \"flip\":%s, \"antiflicker\":%d}" ,
934+ app_config .mirror ? "true" : "false" , app_config .flip ? "true" : "false" ,
935+ app_config .antiflicker );
936+ send_and_close (req -> clntFd , response , respLen );
937+ return ;
938+ }
939+
904940 if (EQUALS (req -> uri , "/api/jpeg" )) {
905941 if (!EMPTY (req -> query )) {
906942 char * remain ;
0 commit comments