package Ġcom . datadog . gradle . plugin . internal . sanit izer Ċ Ċ import Ġjava . util . Locale Ċ Ċ /** Ċ Ġ* ĠIt Ġwill Ġstrip Ġout Ġthe Ġuser Ġinformation Ġfrom Ġthe Ġprovided ĠURL Ġby Ġapplying Ġthe Ġfollowing Ġrules : Ċ Ġ* Ġ 1 . ĠIn Ġcase Ġthe ĠURL Ġis Ġa Ġvalid Ġschema ĠURL Ġ: Ġ(( ssh | http [ s ]? ): \\ ) Ġit Ġwill Ġstrip Ġout Ġthe Ġuser Ċ Ġ* Ġinformation Ġif Ġany Ġfrom Ġit Ċ Ġ* Ġ 2 . ĠIn Ġcase Ġthe ĠURL Ġis Ġa Ġvalid Ġschema ĠURL Ġbut Ġby Ġmistake Ġthe Ġuser Ġforgot Ġto Ġadd Ġthe Ġschema : Ċ Ġ* Ġ[ username ]: [ password ] @ github . com / (. + ). git Ġit Ġwill Ġstrip Ġout Ġthe Ġuser Ġinformation Ġif Ġany Ġand Ġwill Ċ Ġ* Ġreturn Ġthe Ġnew Ġurl Ċ Ġ* Ġ 3 . ĠIn Ġcase Ġthe ĠURL Ġis Ġof Ġa ĠGIT ĠSSH Ġshort Ġformat : Ġ[ user @ ] github . com :( .+ ). git Ġit Ġwill Ġdo Ċ Ġ* Ġnothing Ġassuming Ġthat Ġthere Ġis Ġno Ġpassword Ġnormally Ġprovided Ġin Ġa ĠGIT ĠSSH Ġshort Ġformat ĠURL . Ċ Ġ*/ Ċ internal Ġclass ĠGit Remote Url Sanit izer ( ĊĠĠĠ Ġprivate Ġval Ġsanit izer Resolver : Ġ( String ) Ġ-> ĠUrl Sanit izer Ġ= Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( it . matches ( VALID _ SCHEMA _ URL _ FORMAT _ REGEX )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFull Uri Git Remote Url Sanit izer () ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠShort Uri Git Remote Url Sanit izer () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ ) Ġ: ĠUrl Sanit izer Ġ{ ĊĊĠĠĠ Ġ@ SuppressWarnings (" Too Generic Exception Ca ught ") ĊĠĠĠ Ġoverride Ġfun Ġsanitize ( url : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġsanit izer Resolver ( url ). sanitize ( url ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠUri Parsing Exception ( WRONG _ URL _ FORMAT _ ERROR _ MESSAGE . format ( url , ĠLocale . US ), Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠWR ONG _ URL _ FORMAT _ ERROR _ MESSAGE Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" The Ġdetected ĠGIT Ġremote Ġurl : Ġ[% s ] Ġis Ġnot Ġa Ġvalid ĠGIT Ġurl Ġand Ġit Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" will Ġnot Ġbe Ġb rowsable Ġfrom Ġthe ĠError ĠTracking Ġpanel . Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" You Ġcan Ġprovide Ġa Ġdifferent ĠURL Ġthrough Ġthe Ġplugin Ġextension ." ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠVALID _ SCHEMA _ URL _ FORMAT _ PATTERN Ġ= Ġ"^ ( ssh | http | https ) :// (. + )$ " ĊĠĠĠĠĠĠĠ Ġval ĠVALID _ SCHEMA _ URL _ FORMAT _ REGEX Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRegex ( VALID _ SCHEMA _ URL _ FORMAT _ PATTERN , ĠRegex Option . IGNORE _ CASE ) ĊĠĠĠ Ġ} Ċ } Ċ