req.headers.get
вернет строку или ноль ( документация ).
Строки имеют метод match
, который принимает регулярное выражение ( документация ).
Попробуйте изменить эту строку:
if (reqUA.matches('curl').true) {
На это:
if (requUA !== null && reqUA.match(/curl/)) {
Другая проблема заключается в том, что класс Response
не имеет метода redirect
( документация ).
Попробуйте изменить эту строку:
return Response.redirect(newLocation, 302)
На это:
return new Response(undefined, {
status: 302,
statusText: 'Found',
headers: {
Location: newLocation
}
});