<commit_before>class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception
  before_action :set_locale

  def set_locale
    I18n.locale = current_user.try(:locale) || params[:locale] || I18n.default_locale
  end
<commit_msg>validate locale param, fixes #147<commit_after>class ApplicationController < ActionController::Base
  # Prevent CSRF attacks by raising an exception.
  # For APIs, you may want to use :null_session instead.
  protect_from_forgery with: :exception
  before_action :set_locale

  def set_locale
    locale_param = I18n.available_locales.map(&:to_s).include?(params[:locale]) ? params[:locale] : nil
    I18n.locale = current_user.try(:locale) || locale_param || I18n.default_locale
  end

{'fraction_non_alphanumeric': 0.08930669800235018, 'fraction_numerical': 0.01527614571092832, 'mean_word_length': 5.218978102189781, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '964000', 'n_tokens_mistral': 267, 'n_tokens_neox': 253, 'n_words': 70}