// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "base/android/jni_string.h"
#include "net/http/http_util.h"
#include "net/net_jni_headers/HttpUtil_jni.h"
#include "url/gurl.h"

using base::android::JavaParamRef;
using base::android::ScopedJavaLocalRef;
using base::android::ConvertJavaStringToUTF16;

namespace net {

jboolean JNI_HttpUtil_IsAllowedHeader(
    JNIEnv* env,
    const JavaParamRef<jstring>& j_header_name,
    const JavaParamRef<jstring>& j_header_value) {
  std::string header_name(ConvertJavaStringToUTF8(env, j_header_name));
  std::string header_value(ConvertJavaStringToUTF8(env, j_header_value));

  return HttpUtil::IsValidHeaderName(header_name) &&
         HttpUtil::IsSafeHeader(header_name, header_value) &&
         HttpUtil::IsValidHeaderValue(header_value);
}

}  // namespace net
