[doc_checker] Added logic to follow 308 (Permanent Redirect).
Bug: BLD-410
Change-Id: Ia41e014fc369e60d9323d30e0df91dddda252a5a
diff --git a/tools/doc_checker/lib/link_verifier.dart b/tools/doc_checker/lib/link_verifier.dart
index 854ead0..45db2ae 100644
--- a/tools/doc_checker/lib/link_verifier.dart
+++ b/tools/doc_checker/lib/link_verifier.dart
@@ -55,6 +55,16 @@
sleep(new Duration(milliseconds: delay));
continue;
}
+
+ // Http client doesn't automatically follow 308 (Permanent Redirect).
+ if (code == HttpStatus.permanentRedirect) {
+ if (response.headers.containsKey('location')) {
+ Uri redirectUri = Uri.parse(link.uri.origin + response.headers['location']);
+ return _verifyLink(new Link<P>(redirectUri, link.payload));
+ }
+ return false;
+ }
+
return code == HttpStatus.ok;
}
} on IOException {