11package cleancoderscom .utilities ;
22
3- import cleancoderscom .Context ;
4- import cleancoderscom .http .Controller ;
53import cleancoderscom .http .ParsedRequest ;
64import cleancoderscom .http .RequestParser ;
75import cleancoderscom .http .Router ;
8- import cleancoderscom .usecases .codecastSummaries .CodecastSummariesUseCase ;
9- import cleancoderscom .usecases .codecastSummaries .PresentableCodecastSummary ;
10- import cleancoderscom .entities .User ;
6+ import cleancoderscom .usecases .codecastSummaries .CodecastSummariesController ;
117import cleancoderscom .socketserver .SocketServer ;
128import cleancoderscom .TestSetup ;
13- import cleancoderscom .view .ViewTemplate ;
149
1510import java .io .BufferedReader ;
1611import java .io .IOException ;
1712import java .io .InputStreamReader ;
18- import java .util .List ;
1913
2014
2115public class Main {
@@ -33,11 +27,9 @@ public static void main(String[] args) throws Exception {
3327 BufferedReader reader = new BufferedReader (new InputStreamReader (s .getInputStream ()));
3428 ParsedRequest request = new RequestParser ().parse (reader .readLine ());
3529 String response = router .route (request );
36- if (response != null )
37- s .getOutputStream ().write (response .getBytes ());
38- else
39- // TODO - Router should take care of 404
40- s .getOutputStream ().write ("HTTP/1.1 404 OK\n " .getBytes ());
30+
31+ s .getOutputStream ().write (response .getBytes ());
32+
4133 s .close ();
4234 } catch (IOException e ) {
4335 e .printStackTrace ();
@@ -46,55 +38,5 @@ public static void main(String[] args) throws Exception {
4638 server .start ();
4739 }
4840
49- static class CodecastSummariesController implements Controller {
50- public String handle (ParsedRequest request ) {
51- String frontPage = getFrontPage ();
52- return makeResponse (frontPage );
53- }
54- }
55-
56- private static String makeResponse (String content ) {
57- return "HTTP/1.1 200 OK\n " +
58- "Content-Length: " + content .length () + "\n " +
59-
60- "\n " +
61- content ;
62- }
63-
64- public static String getFrontPage () {
65-
66- // TODO - This belongs in the Controller
67- CodecastSummariesUseCase useCase = new CodecastSummariesUseCase ();
68- User bob = Context .userGateway .findUserByName ("Bob" );
69- List <PresentableCodecastSummary > presentableCodecasts = useCase .presentCodecasts (bob );
70-
71- try {
72- // TODO - This is the View
73- ViewTemplate frontPageTemplate = ViewTemplate .create ("html/frontpage.html" );
74-
75- StringBuilder codecastLines = new StringBuilder ();
76- for (PresentableCodecastSummary presentableCodecast : presentableCodecasts ) {
77-
78- ViewTemplate codecastTemplate = ViewTemplate .create ("html/codecast.html" );
79- codecastTemplate .replace ("title" , presentableCodecast .title );
80- codecastTemplate .replace ("publicationDate" , presentableCodecast .publicationDate );
81- codecastTemplate .replace ("permalink" , presentableCodecast .permalink );
82-
83- //staged
84- codecastTemplate .replace ("thumbnail" , "https://d26o5k45lnmm4v.cloudfront.net/YmluYXJ5OjIxNzA1Nw" );
85- codecastTemplate .replace ("author" , "Uncle Bob" );
86- codecastTemplate .replace ("duration" , "58 min." );
87- codecastTemplate .replace ("contentActions" , "Buying options go here." );
88-
89- codecastLines .append (codecastTemplate .getContent ());
90- }
91-
92- frontPageTemplate .replace ("codecasts" , codecastLines .toString ());
93- return frontPageTemplate .getContent ();
94- } catch (IOException e ) {
95- e .printStackTrace ();
96- return "Gunk" ;
97- }
98- }
9941
10042}
0 commit comments