@@ -111,13 +111,13 @@ const app = () => {
111
111
watcherState . validationUrl . state = 'updated' ;
112
112
const formData = new FormData ( e . target ) ;
113
113
const existingURLs = watcherState . content . feeds . map ( ( feed ) => feed . url ) ;
114
- validate ( existingURLs , formData . get ( 'url' ) )
114
+ const currentURL = formData . get ( 'url' ) ;
115
+ validate ( existingURLs , currentURL )
115
116
. then ( ( newUrl ) => getAxiosResponse ( newUrl ) )
116
117
. then ( ( response ) => {
117
118
const data = parseRSS ( response . data . contents ) ;
118
- const { url } = response . data . status ;
119
119
const feedId = Number ( uniqueId ( ) ) ;
120
- data . feed . url = url ;
120
+ data . feed . url = currentURL ;
121
121
data . feed . feedId = feedId ;
122
122
data . posts = data . posts . map ( ( post ) => ( {
123
123
...post ,
@@ -130,12 +130,21 @@ const app = () => {
130
130
updateFeeds ( watcherState ) ;
131
131
} )
132
132
. catch ( ( err ) => {
133
- if ( err . message === 'URL_invalid' || err . message === 'invalid_RSS' ) {
134
- watcherState . validationUrl . error = err . message ;
135
- watcherState . validationUrl . state = 'invalid' ;
136
- } else {
137
- console . log ( 'Выпала неизвесная ошибка:' ) ;
138
- console . dir ( err ) ;
133
+ switch ( err . name ) {
134
+ case 'ValidationError' :
135
+ case 'ValidationRSSError' :
136
+ watcherState . validationUrl . error = err . message ;
137
+ watcherState . validationUrl . state = 'invalid' ;
138
+ break ;
139
+ case 'AxiosError' :
140
+ watcherState . validationUrl . error = err . code ;
141
+ watcherState . validationUrl . state = 'invalid' ;
142
+ break ;
143
+
144
+ default :
145
+ console . log ( 'Выпала неизвесная ошибка:' ) ;
146
+ console . dir ( err ) ;
147
+ break ;
139
148
}
140
149
} ) ;
141
150
} ) ;
0 commit comments