I see that req_index is reset to 0 at the end of the loop ... Try to set it at 0 just after the if (client) ... It will be better for understanding the program
Maybe add a '\0' car at the end of the string HTTP_req once all the request has been read ...
You should serial.print the HTTP_req before using it to see what it contains Just after the the line if (c == '\n' && ....)