Repository: iluwatar/java-design-patterns
Issue: Fix broken links
Labels: type: bug
epic: web site
info: good first issue
epic: build issue

The html-proofer that is included in Travis build indicates that we have some broken links.

```shell
Running ["HtmlCheck", "ImageCheck", "ScriptCheck", "LinkCheck"] on ["./_site/"] on *.html... 
Checking 391 external links...
Ran on 133 files!
- ./_site/patterns/acyclic-visitor/index.html
  *  internally linking to ../visitor/README.md, which does not exist (line 1)
- ./_site/patterns/half-sync-half-async/index.html
  *  External link http://www.cs.wustl.edu/~schmidt/PDF/PLoP-95.pdf failed: 404 No error
- ./_site/patterns/intercepting-filter/index.html
  *  External link http://www.javagyan.com/tutorials/corej2eepatterns/presentation-tier-patterns failed: 403 No error
  *  External link https://struts.apache.org/docs/interceptors.html failed: 404 No error
htmlproofer 3.0.6 | Error:  HTML-Proofer found 4 failures!
The command "bash cibuild.sh" exited with 1.
```

See full log at https://travis-ci.org/iluwatar/java-design-patterns/builds/565304449

Issue comments:
@iluwatar , 
Hi, can I look at this change? 
Yes @snehalatapandit 
Hi @iluwatar, it seems this is again failing for different link
https://travis-ci.org/iluwatar/java-design-patterns/builds/583292258
In https://github.com/iluwatar/java-design-patterns/tree/master/partial-response credit section we are providing link for Partial Response in RESTful API Design and its respective URL is no more active and gives Page Not found error, hence Automagic is also failing

Do let me know if I can take this up ?
Please go ahead @hbothra15 
Done, and created a PR for the same

Pull request review comments:

Patch that resolved the issue:
diff --git a/half-sync-half-async/README.md b/half-sync-half-async/README.md
index 8a091f8133a3..ef463edadc6f 100644
--- a/half-sync-half-async/README.md
+++ b/half-sync-half-async/README.md
@@ -27,11 +27,11 @@ Use Half-Sync/Half-Async pattern when
 
 ## Real world examples
 
-* [BSD Unix networking subsystem](http://www.cs.wustl.edu/~schmidt/PDF/PLoP-95.pdf)
+* [BSD Unix networking subsystem](https://www.dre.vanderbilt.edu/~schmidt/PDF/PLoP-95.pdf)
 * [Real Time CORBA](http://www.omg.org/news/meetings/workshops/presentations/realtime2001/4-3_Pyarali_thread-pool.pdf)
 * [Android AsyncTask framework](http://developer.android.com/reference/android/os/AsyncTask.html)
 
 ## Credits
 
-* [Douglas C. Schmidt and Charles D. Cranor - Half Sync/Half Async](http://www.cs.wustl.edu/~schmidt/PDF/PLoP-95.pdf)
+* [Douglas C. Schmidt and Charles D. Cranor - Half Sync/Half Async](https://www.dre.vanderbilt.edu/~schmidt/PDF/PLoP-95.pdf)
 * [Pattern Oriented Software Architecture Vol I-V](http://www.amazon.com/Pattern-Oriented-Software-Architecture-Volume-Patterns/dp/0471958697)
diff --git a/intercepting-filter/README.md b/intercepting-filter/README.md
index 0d35044de8a7..c287138953eb 100644
--- a/intercepting-filter/README.md
+++ b/intercepting-filter/README.md
@@ -30,9 +30,8 @@ Use the Intercepting Filter pattern when
 ## Real world examples
 
 * [javax.servlet.FilterChain](https://tomcat.apache.org/tomcat-8.0-doc/servletapi/javax/servlet/FilterChain.html) and [javax.servlet.Filter](https://tomcat.apache.org/tomcat-8.0-doc/servletapi/javax/servlet/Filter.html)
-* [Struts 2 - Interceptors](https://struts.apache.org/docs/interceptors.html)
+* [Struts 2 - Interceptors](https://struts.apache.org/core-developers/interceptors.html)
 
 ## Credits
 
 * [TutorialsPoint - Intercepting Filter](http://www.tutorialspoint.com/design_pattern/intercepting_filter_pattern.htm)
-* [Presentation Tier Patterns](http://www.javagyan.com/tutorials/corej2eepatterns/presentation-tier-patterns)


Test patch: