package Ġcom . ach hat ra . th re ep io . testing . mock server . matchers Ċ Ċ import Ġokhttp 3 . mock webserver . Re corded Request Ċ import Ġorg . hamcrest . Description Ċ import Ġorg . hamcrest . Type Safe Matcher Ċ Ċ class ĠHeader Matcher ( private Ġval Ġname : ĠString , Ġprivate Ġval Ġvalue : ĠString ?) Ġ: ĠType Safe Matcher < Re corded Request >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġdescribe To ( description : ĠDescription ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdescription . append Text (" Ġhas Ġheader Ġwith Ġname =$ name ") ĊĠĠĠĠĠĠĠ Ġif Ġ( value Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . append Text (" Ġand Ġvalue =$ value ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmatches S af ely ( request : ĠRe corded Request ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( value Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . headers [ name ] Ġ== Ġvalue ĊĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequest . headers [ name ] Ġ!= Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠRequest Matcher . has Header ( name : ĠString , Ġvalue : ĠString ? Ġ= Ġnull ) Ġ{ ĊĠĠĠ Ġadd ( Header Matcher ( name , Ġvalue )) Ċ } Ċ Ċ fun ĠRequest Matcher . has Header ( name : ĠString , Ġvalue : ĠInt ) Ġ{ ĊĠĠĠ Ġadd ( Header Matcher ( name , Ġvalue . toString ())) Ċ } Ċ Ċ fun ĠRequest Matcher . has Header ( name : ĠString , Ġvalue : ĠFloat ) Ġ{ ĊĠĠĠ Ġadd ( Header Matcher ( name , Ġvalue . toString ())) Ċ } Ċ Ċ fun ĠRequest Matcher . has Header ( name : ĠString , Ġvalue : ĠLong ) Ġ{ ĊĠĠĠ Ġadd ( Header Matcher ( name , Ġvalue . toString ())) Ċ } Ċ Ċ fun ĠRequest Matcher . has Header ( name : ĠString , Ġvalue : ĠDouble ) Ġ{ ĊĠĠĠ Ġadd ( Header Matcher ( name , Ġvalue . toString ())) Ċ } ĊĊ