регулярные выражения в firebase.json переписывает - PullRequest
0 голосов
/ 17 февраля 2019

При использовании firebase с функциями можно использовать регулярные выражения для сопоставления входящих запросов и на основе сопоставления использовать определенную функцию, совместно использующую одну и ту же конечную точку?Например, я пытаюсь это:

{
    "hosting": {
        "rewrites": [
            {
                "source": "/^([0-9a-f]{2}[:-]){15}([0-9a-f]{2})$",
                "function": "getFingerprint"
            },
            {
                "source": "/*",
                "function": "callNew"
            }
        ]
    }
}

Я хотел бы сопоставить URL-адреса, такие как:

http://test.firebaseapp.com/b4:e8:b4:ec:4a:36:76:4b:04:4a:83:c9:47:d4:c8:70

Если запрос соответствует определенному регулярному выражению, тогда используйтефункция getFingerprint, если нет, в моей попытке реализовать "ловушку" я использую /*.

Единственный шаблон, который работает в данный момент, это /*, но не можетНайдите способ заставить его работать:

^([0-9a-f]{2}[:-]){15}([0-9a-f]{2})$

Поэтому интересно, возможно ли использовать любое регулярное выражение в файле firebase.json для настройки пользовательских перезаписей и совместного использования конечных точек, например, / в этомВ этом случае или в качестве альтернативы лучше иметь уникальный ресурс, а затем разделить путь URL-адреса, чтобы получить пути в качестве параметров

1 Ответ

0 голосов
/ 17 февраля 2019

Из документации по Правила переписывания для хостинга Firebase :

A source с указанием шаблона глобуса

Шаблоны глобуса являются подмножеством регулярных выражений, и, например, я не поддерживаю используемые вами выражения-терминаторы ^ и $.

...