| 123456789101112131415161718192021222324252627282930313233343536373839 |
- // Copyright 2018 Frédéric Guillot. All rights reserved.
- // Use of this source code is governed by the Apache 2.0
- // license that can be found in the LICENSE file.
- package api
- import (
- "net/http"
- "github.com/miniflux/miniflux/http/context"
- "github.com/miniflux/miniflux/http/response/json"
- "github.com/miniflux/miniflux/http/response/xml"
- "github.com/miniflux/miniflux/reader/opml"
- )
- // Export is the API handler that export feeds to OPML.
- func (c *Controller) Export(w http.ResponseWriter, r *http.Request) {
- opmlHandler := opml.NewHandler(c.store)
- opml, err := opmlHandler.Export(context.New(r).UserID())
- if err != nil {
- json.ServerError(w, err)
- return
- }
- xml.OK(w, opml)
- }
- // Import is the API handler that import an OPML file.
- func (c *Controller) Import(w http.ResponseWriter, r *http.Request) {
- opmlHandler := opml.NewHandler(c.store)
- err := opmlHandler.Import(context.New(r).UserID(), r.Body)
- defer r.Body.Close()
- if err != nil {
- json.ServerError(w, err)
- return
- }
- json.Created(w, map[string]string{"message": "Feeds imported successfully"})
- }
|