@@ -2,8 +2,10 @@ import { observer } from '@ember/object';
2
2
import Route from '@ember/routing/route' ;
3
3
import { inject as service } from '@ember/service' ;
4
4
5
+ import fetch from 'fetch' ;
6
+ import ajax from 'ember-fetch/ajax' ;
7
+
5
8
export default Route . extend ( {
6
- ajax : service ( ) ,
7
9
session : service ( ) ,
8
10
9
11
flashMessages : service ( ) ,
@@ -45,7 +47,7 @@ export default Route.extend({
45
47
crate . get ( 'documentation' ) . substr ( 0 , 16 ) === 'https://docs.rs/' ) {
46
48
let crateName = crate . get ( 'name' ) ;
47
49
let crateVersion = params . version_num ;
48
- this . get ( ' ajax' ) . request ( `https://docs.rs/crate/${ crateName } /${ crateVersion } /builds.json` )
50
+ ajax ( `https://docs.rs/crate/${ crateName } /${ crateVersion } /builds.json` , { mode : 'cors' } )
49
51
. then ( ( r ) => {
50
52
if ( r . length > 0 && r [ 0 ] . build_status === true ) {
51
53
crate . set ( 'documentation' , `https://docs.rs/${ crateName } /${ crateVersion } /` ) ;
@@ -85,7 +87,7 @@ export default Route.extend({
85
87
controller . set ( 'fetchingFollowing' , true ) ;
86
88
87
89
if ( this . get ( 'session.currentUser' ) ) {
88
- this . get ( ' ajax' ) . request ( `/api/v1/crates/${ crate . get ( 'name' ) } /following` )
90
+ ajax ( `/api/v1/crates/${ crate . get ( 'name' ) } /following` )
89
91
. then ( ( d ) => controller . set ( 'following' , d . following ) )
90
92
. finally ( ( ) => controller . set ( 'fetchingFollowing' , false ) ) ;
91
93
}
@@ -104,18 +106,13 @@ export default Route.extend({
104
106
versions . objectAt ( 0 ) ;
105
107
106
108
if ( result . get ( 'readme_path' ) ) {
107
- this . get ( 'ajax' ) . request ( result . get ( 'readme_path' ) )
108
- . then ( ( r ) => this . get ( 'ajax' ) . raw ( r . url , {
109
- method : 'GET' ,
110
- dataType : 'html' ,
111
- headers : {
112
- // We need to force the Accept header, otherwise crates.io won't return
113
- // the readme file when not using S3.
114
- Accept : '*/*' ,
115
- } ,
116
- } ) )
117
- . then ( ( r ) => {
118
- crate . set ( 'readme' , r . payload ) ;
109
+ fetch ( result . get ( 'readme_path' ) )
110
+ . then ( async ( r ) => {
111
+ if ( r . ok ) {
112
+ crate . set ( 'readme' , await r . text ( ) ) ;
113
+ } else {
114
+ crate . set ( 'readme' , null ) ;
115
+ }
119
116
} )
120
117
. catch ( ( ) => {
121
118
crate . set ( 'readme' , null ) ;
0 commit comments