На прошлой неделе я написал фрагмент кода, который интегрируется с GitHub API и получает список всех репозиториев в данной организации. Это в полной мере использует нумерацию страниц, выбирая 30 элементов на странице. Одним из вариантов, который я добавил, был выбор способа сортировки результатов, который на основе документации добавляет это в строку запроса:
sort=[created,updated,pushed,full_name]
Исходя из наших требований, я по умолчанию выбрал эту опцию для сортировки по имени (full_name
). На прошлой неделе это работало. Сегодня то же самое выдает мне ошибку:
502 Bad Gateway
Вместе с телом JSON:
{
"message": "Server Error"
}
Если я сортирую по любому другому полю или вообще опускаю этот параметр запроса, запрос работает нормально. Я могу даже поместить любое несуществующее поле мусора, такое как abc
, и я все еще получаю ответ (без сортировки). Кроме того, если я получаю все хранилища пользователя (а не организации), я могу отсортировать по full_name
очень хорошо. Я просто не могу отсортировать по full_name
при перечислении репозиториев организации.
Полный образец запроса (с использованием apple
в качестве организации образца):
GET https://api.github.com/orgs/apple/repos?sort=full_name
Я что-то здесь не так делаю? Или есть проблема с API?
ОБНОВЛЕНИЕ 1
Примерно через 1,5 часа после публикации этого вопроса, теперь вместо того, чтобы получать ошибку 502 Bad Gateway
с телом JSON, теперь я получаю 500 Internal Server Error
без тела JSON.
Аааа, а через несколько минут после этого редактирования возвращается ошибка 502.
ОБНОВЛЕНИЕ 2
Чтобы добавить к странности, неудачный запрос с использованием full_name
требует около 9619 мсек, в то время как для такой же сортировки запроса по pushed
требуется около 906 мсек.