package Ġcom . cv 4 j . net discovery . dsl Ċ Ċ import Ġcom . cv 4 j . net discovery . core . domain . Request Ċ import Ġio . vertx . core . http . HttpMethod Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġt ony Ġon Ġ 2 0 1 8 / 9 / 1 8 . Ċ Ġ*/ Ċ class ĠRequest Wrapper Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġheader Context Ġ= ĠHeader Context () ĊĠĠĠ Ġprivate Ġval Ġextras Context Ġ= ĠEx tras Context () ĊĊĠĠĠ Ġvar Ġurl : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġsp ider Name : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġvar Ġhttp Method : ĠHttpMethod Ġ= ĠHttpMethod . GET ĊĊĠĠĠ Ġfun Ġheader ( init : ĠHeader Context . () Ġ-> ĠUnit ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġheader Context . init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġextras ( init : ĠEx tras Context . () Ġ-> ĠUnit ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġextras Context . init () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun Ġget Header Context () Ġ= Ġheader Context ĊĊĠĠĠ Ġinternal Ġfun Ġget Extras Context () Ġ= Ġextras Context Ċ } Ċ Ċ class ĠHeader Context Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmap : ĠMutable Map < String , ĠString > Ġ= Ġmutable Map Of () ĊĊĠĠĠ Ġin fix Ġfun ĠString . to ( v : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmap [ this ] Ġ= Ġv ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun ĠforEach ( action : Ġ( k : ĠString , Ġv : ĠString ) Ġ-> ĠUnit ) Ġ= Ġmap . forEach ( action ) Ċ } Ċ Ċ class ĠEx tras Context Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmap : ĠMutable Map < String , ĠAny > Ġ= Ġmutable Map Of () ĊĊĠĠĠ Ġin fix Ġfun ĠString . to ( v : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġmap [ this ] Ġ= Ġv ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġfun ĠforEach ( action : Ġ( k : ĠString , Ġv : ĠAny ) Ġ-> ĠUnit ) Ġ= Ġmap . forEach ( action ) Ċ } Ċ Ċ fun Ġrequest ( init : ĠRequest Wrapper . () Ġ-> ĠUnit ): ĠRequest Ġ{ ĊĊĠĠĠ Ġval Ġwrap Ġ= ĠRequest Wrapper () ĊĊĠĠĠ Ġwrap . init () ĊĊĠĠĠ Ġreturn Ġconfig Request ( wrap ) Ċ } Ċ Ċ private Ġfun Ġconfig Request ( wrap : ĠRequest Wrapper ): ĠRequest Ġ{ ĊĊĠĠĠ Ġval Ġrequest Ġ= Ġ ĠRequest ( wrap . url ). spider Name ( wrap . spider Name ). http Method ( wrap . http Method ) ĊĊĠĠĠ Ġwrap . getHeader Context (). forEach Ġ{ Ġk , Ġv Ġ-> ĊĊĠĠĠĠĠĠĠ Ġrequest . header ( k , v ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwrap . get Extras Context (). forEach Ġ{ Ġk , Ġv Ġ-> ĊĊĠĠĠĠĠĠĠ Ġrequest . putExtra ( k , v ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġrequest Ċ } Ċ