File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -3,13 +3,14 @@ import { inject as service } from '@ember/service';
33
44export default Route . extend ( {
55 flashMessages : service ( ) ,
6+ redirector : service ( ) ,
67
78 redirect ( ) {
89 let crate = this . modelFor ( 'crate' ) ;
910
1011 let documentation = crate . get ( 'documentation' ) ;
1112 if ( documentation ) {
12- window . location = documentation ;
13+ this . redirector . redirectTo ( documentation ) ;
1314 } else {
1415 // Redirect to the crate's main page and show a flash error if
1516 // no documentation is found
Original file line number Diff line number Diff line change @@ -3,13 +3,14 @@ import { inject as service } from '@ember/service';
33
44export default Route . extend ( {
55 flashMessages : service ( ) ,
6+ redirector : service ( ) ,
67
78 redirect ( ) {
89 let crate = this . modelFor ( 'crate' ) ;
910
1011 let repository = crate . get ( 'repository' ) ;
1112 if ( repository ) {
12- window . location = repository ;
13+ this . redirector . redirectTo ( repository ) ;
1314 } else {
1415 // Redirect to the crate's main page and show a flash error if
1516 // no repository is found
Original file line number Diff line number Diff line change 11import Route from '@ember/routing/route' ;
2+ import { inject as service } from '@ember/service' ;
23
34export default Route . extend ( {
5+ redirector : service ( ) ,
6+
47 redirect ( ) {
5- window . location = 'https://doc.rust-lang.org/cargo/getting-started/installation.html' ;
8+ this . redirector . redirectTo ( 'https://doc.rust-lang.org/cargo/getting-started/installation.html' ) ;
69 } ,
710} ) ;
Original file line number Diff line number Diff line change 1+ import Service , { inject as service } from '@ember/service' ;
2+
3+ export default Service . extend ( {
4+ fastboot : service ( ) ,
5+
6+ redirectTo ( url ) {
7+ if ( this . fastboot . isFastBoot ) {
8+ let headers = this . fastboot . response . headers ;
9+ headers . set ( 'location' , url ) ;
10+ this . set ( 'fastboot.response.statusCode' , 301 ) ;
11+ } else {
12+ window . location = url ;
13+ }
14+ } ,
15+ } ) ;
You can’t perform that action at this time.
0 commit comments