package Ġio . bur ba . tot he comments . source . post Ċ Ċ import Ġio . bur ba . tot he comments . action . Post Ċ import Ġio . bur ba . tot he comments . source . Fetch Exception Ċ import Ġjava . net . URL Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠH n Post Source Ġ@ Inject Ġconstructor ( private Ġval Ġh n Api : ĠH n Api ) Ġ: ĠPost Source Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġposts For Url ( url : ĠURL ): ĠList < Post > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġh n Api . get Posts ( url . toString ()). execute () ĊĠĠĠĠĠĠĠ Ġif Ġ( response . is Successful ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbody Ġ= Ġresponse . body () Ġ?: Ġthrow ĠFetch Exception (" Received Ġempty Ġresponse Ġbody ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbody . hits . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPost ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" https :// news . y combinator . com / item ? id =${ it . object ID }", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠFetch Exception ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . error Body ()?. string () Ġ?: Ġ" Unable Ġto Ġfetch Ġrequested Ġdata " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }