@@ -119,29 +119,31 @@ func (f Feed) Create(ctx context.Context, req *ReqFeedCreate) error {
119119}
120120
121121func (f Feed ) CheckValidity (ctx context.Context , req * ReqFeedCheckValidity ) (* RespFeedCheckValidity , error ) {
122- link := req .Link
122+ if parsed , err := pull .FetchFeed (ctx , & model.Feed {Link : & req .Link }); err == nil && parsed != nil {
123+ return & RespFeedCheckValidity {
124+ FeedLinks : []ValidityItem {
125+ {
126+ Title : & parsed .Title ,
127+ Link : & req .Link ,
128+ },
129+ },
130+ }, nil
131+ }
132+
123133 validLinks := make ([]ValidityItem , 0 )
124- parsed , err := pull .FetchFeed (ctx , & model.Feed {Link : & link })
125- if err == nil && parsed != nil {
134+ target , err := url .Parse (req .Link )
135+ if err != nil {
136+ return nil , err
137+ }
138+ sniffed , err := sniff .Sniff (ctx , target )
139+ if err != nil {
140+ return nil , err
141+ }
142+ for _ , l := range sniffed {
126143 validLinks = append (validLinks , ValidityItem {
127- Title : & parsed .Title ,
128- Link : & req .Link ,
144+ Title : & l .Title ,
145+ Link : & l .Link ,
129146 })
130- } else {
131- target , err := url .Parse (req .Link )
132- if err != nil {
133- return nil , err
134- }
135- sniffed , err := sniff .Sniff (ctx , target )
136- if err != nil {
137- return nil , err
138- }
139- for _ , l := range sniffed {
140- validLinks = append (validLinks , ValidityItem {
141- Title : & l .Title ,
142- Link : & l .Link ,
143- })
144- }
145147 }
146148 return & RespFeedCheckValidity {
147149 FeedLinks : validLinks ,
0 commit comments