android_http_util.cc 918 B

12345678910111213141516171819202122232425262728
  1. // Copyright (c) 2018 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "base/android/jni_string.h"
  5. #include "net/http/http_util.h"
  6. #include "net/net_jni_headers/HttpUtil_jni.h"
  7. #include "url/gurl.h"
  8. using base::android::JavaParamRef;
  9. using base::android::ScopedJavaLocalRef;
  10. using base::android::ConvertJavaStringToUTF16;
  11. namespace net {
  12. jboolean JNI_HttpUtil_IsAllowedHeader(
  13. JNIEnv* env,
  14. const JavaParamRef<jstring>& j_header_name,
  15. const JavaParamRef<jstring>& j_header_value) {
  16. std::string header_name(ConvertJavaStringToUTF8(env, j_header_name));
  17. std::string header_value(ConvertJavaStringToUTF8(env, j_header_value));
  18. return HttpUtil::IsValidHeaderName(header_name)
  19. && HttpUtil::IsSafeHeader(header_name)
  20. && HttpUtil::IsValidHeaderValue(header_value);
  21. }
  22. } // namespace net