фингерпринт, русский язык



  • когда мы получаем фингерпринт с сервера можно увидеть что то типа такого
    lang: 'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4'
    это значит что в системе основной русский язык ну и вы хотите все на этом языке

    если вы идентифицируете браузер как US например, то проще поставить стандартный заголовок 'en-US,en;q=0.9'
    псевдо код на джс внизу парсит ответ, проверяет фингерпринт валидный и поле lang присутствует и меняет его на стандартное.
    если формат фингерпринта изменится будет исключение

    import { expect } from 'chai'
    ....
    ....
    const bodyJson = JSON.parse(body)
    expect(bodyJson).have.property('lang')
    bodyJson.lang = 'en-US,en;q=0.9'
    const { valid } = bodyJson
    if (!valid)
    throw Error('fingeprint not valid: ' + (lodash.isString(body) && body.substring(0, 200)))


Log in to reply