투케이2K

431. (kotlin/코틀린) [유틸 파일] urlRequestAddHeader - 웹뷰 로드 시 헤더 값 추가 : Webview 본문

Kotlin

431. (kotlin/코틀린) [유틸 파일] urlRequestAddHeader - 웹뷰 로드 시 헤더 값 추가 : Webview

투케이2K 2023. 11. 6. 19:21

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

        // -----------------------------------------------------------------------------------------
        // TODO [SEARCH FAST] : urlRequestAddHeader : [웹뷰 로드 시 헤더 값 추가] : Webview
        // -----------------------------------------------------------------------------------------
        fun urlRequestAddHeader(mContext: Context, headers: MutableMap<String, String>, key: String, value: String): MutableMap<String, String> {

            /**
             * // -----------------------------------------
             * [urlRequestAddHeader 메소드 설명]
             * // -----------------------------------------
             * 1. 웹뷰 로드 시 헤더 값 추가
             * // -----------------------------------------
             * 2. 호출 방식 :
             *
             * var headers: MutableMap<String, String> = HashMap()
             * headers = C_WebviewCommonFunc.urlRequestAddHeader(A_Webview@this, headers, "Cookie", "TWOK")
             * headers = C_WebviewCommonFunc.urlRequestAddHeader(A_Webview@this, headers, "Session", "AEDF")
             *
             * main_webview!!.loadUrl(url, headers)
             *
             * // -----------------------------------------
             */


            // [변수 선언 실시]
            var returnData: MutableMap<String, String> = HashMap()
            var M_LOG = ""


            // [로직 처리 실시]
            try {

                // [널 체크 수행 실시]
                if (headers != null) {

                    // [헤더 값 추가 실시]
                    returnData = headers // [인풋 값 지정]

                    if (C_Util.stringNotNullMulti(arrayOf(key, value)) === true){

                        returnData[key] = value // [헤더 값 추가]

                        M_LOG = "[Success] :: Map Add Header"

                    }
                    else {
                        M_LOG = "[ERROR] :: key , value is null"
                    }

                } else {
                    M_LOG = "[ERROR] :: headers is null"
                }

            } catch (e: Exception) {
                M_LOG = "[EXCEPTION] :: " + e.message.toString()
                S_Log._printStackTrace_(mContext, S_FinalMsg.LOG_BUG_STATE, null, e)
            }


            // [로그 출력 실시]
            //*
            // ===============================================================
            S_Log._F_(mContext!!, "웹뷰 로드 시 헤더 값 추가", arrayOf(
                "INPUT [key] :: $key",
                "INPUT [value] :: $value",
                "M_LOG :: $M_LOG",
                "RETURN :: $returnData"
            ))
            // ===============================================================
            // */


            // [리턴 변수 반환]
            return returnData
        }

 

반응형
Comments