Documentation
¶
Index ¶
- func MainService(confPath string) error
- func ValidateSecurityForListenAddr(conf *SecurityConf, listenAddr string) error
- type App
- func (app *App) Close() error
- func (app *App) HandleAPIClearReadHistory(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPICreateBook(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPICreateBookSource(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPICreateLayer(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIDeleteBook(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIDeleteBookCover(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIDeleteBookSource(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIDeleteLayer(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIDeleteTrashedBook(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIFindDuplicateBooks(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetBook(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetBookContent(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetBookCover(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetBookSource(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetBookSourceContent(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetBookSources(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetBookSplitConfig(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetBooks(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetLayers(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetMarks(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetReadHistory(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIGetTrashedBooks(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIImportBook(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIRestoreTrashedBook(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPITrashBook(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIUpdateBook(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIUpdateBookCover(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIUpdateBookSourceContent(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIUpdateBookSplitConfig(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIUpdateMarks(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleAPIUpdateReadHistory(w http.ResponseWriter, r *http.Request)
- func (app *App) HandleSPAFallback(w http.ResponseWriter, r *http.Request)
- func (app *App) Handler() http.Handler
- func (app *App) Health(w http.ResponseWriter, r *http.Request)
- func (app *App) ImportFromLocalPath(localPath string, layerParts shelf.Layers) (*shelf.Book, error)
- func (app *App) SecurityToken() string
- func (app *App) SecurityTokenHeader() string
- func (app *App) Serve(mux *http.ServeMux)
- func (app *App) Start() error
- type AppConf
- type Book
- type Security
- type SecurityConf
- type SecurityMode
- type SrvConf
- type TrashedBook
- type UpdateBookRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MainService ¶
func ValidateSecurityForListenAddr ¶ added in v0.2.0
func ValidateSecurityForListenAddr(conf *SecurityConf, listenAddr string) error
Types ¶
type App ¶
func (*App) HandleAPIClearReadHistory ¶
func (app *App) HandleAPIClearReadHistory(w http.ResponseWriter, r *http.Request)
DELETE /api/read_history
func (*App) HandleAPICreateBook ¶ added in v0.5.0
func (app *App) HandleAPICreateBook(w http.ResponseWriter, r *http.Request)
POST /api/books
func (*App) HandleAPICreateBookSource ¶ added in v0.5.0
func (app *App) HandleAPICreateBookSource(w http.ResponseWriter, r *http.Request)
POST /api/books/{book_id}/sources
func (*App) HandleAPICreateLayer ¶
func (app *App) HandleAPICreateLayer(w http.ResponseWriter, r *http.Request)
POST /api/layers/{layer_path}
func (*App) HandleAPIDeleteBook ¶
func (app *App) HandleAPIDeleteBook(w http.ResponseWriter, r *http.Request)
DELETE /api/books/{book_id}
func (*App) HandleAPIDeleteBookCover ¶
func (app *App) HandleAPIDeleteBookCover(w http.ResponseWriter, r *http.Request)
DELETE /api/books/{book_id}/cover
func (*App) HandleAPIDeleteBookSource ¶ added in v0.5.0
func (app *App) HandleAPIDeleteBookSource(w http.ResponseWriter, r *http.Request)
DELETE /api/books/{book_id}/sources/{source_id}
func (*App) HandleAPIDeleteLayer ¶
func (app *App) HandleAPIDeleteLayer(w http.ResponseWriter, r *http.Request)
DELETE /api/layers/{layer_path}
func (*App) HandleAPIDeleteTrashedBook ¶ added in v0.5.0
func (app *App) HandleAPIDeleteTrashedBook(w http.ResponseWriter, r *http.Request)
DELETE /api/trash/books/{book_id}
func (*App) HandleAPIFindDuplicateBooks ¶
func (app *App) HandleAPIFindDuplicateBooks(w http.ResponseWriter, r *http.Request)
GET /api/books/duplicate
func (*App) HandleAPIGetBook ¶
func (app *App) HandleAPIGetBook(w http.ResponseWriter, r *http.Request)
GET /api/books/{book_id}
func (*App) HandleAPIGetBookContent ¶
func (app *App) HandleAPIGetBookContent(w http.ResponseWriter, r *http.Request)
GET /api/books/{book_id}/content
func (*App) HandleAPIGetBookCover ¶
func (app *App) HandleAPIGetBookCover(w http.ResponseWriter, r *http.Request)
GET /api/books/{book_id}/cover
func (*App) HandleAPIGetBookSource ¶ added in v0.3.0
func (app *App) HandleAPIGetBookSource(w http.ResponseWriter, r *http.Request)
GET /api/books/{book_id}/sources/{source_id}
func (*App) HandleAPIGetBookSourceContent ¶ added in v0.3.0
func (app *App) HandleAPIGetBookSourceContent(w http.ResponseWriter, r *http.Request)
GET /api/books/{book_id}/sources/{source_id}/content
func (*App) HandleAPIGetBookSources ¶ added in v0.3.0
func (app *App) HandleAPIGetBookSources(w http.ResponseWriter, r *http.Request)
GET /api/books/{book_id}/sources
func (*App) HandleAPIGetBookSplitConfig ¶
func (app *App) HandleAPIGetBookSplitConfig(w http.ResponseWriter, r *http.Request)
GET /api/books/{book_id}/split_config
func (*App) HandleAPIGetBooks ¶
func (app *App) HandleAPIGetBooks(w http.ResponseWriter, r *http.Request)
GET /api/books
func (*App) HandleAPIGetLayers ¶
func (app *App) HandleAPIGetLayers(w http.ResponseWriter, r *http.Request)
GET /api/layers
func (*App) HandleAPIGetMarks ¶
func (app *App) HandleAPIGetMarks(w http.ResponseWriter, r *http.Request)
GET /api/marks/{book_id}
func (*App) HandleAPIGetReadHistory ¶
func (app *App) HandleAPIGetReadHistory(w http.ResponseWriter, r *http.Request)
GET /api/read_history
func (*App) HandleAPIGetTrashedBooks ¶ added in v0.5.0
func (app *App) HandleAPIGetTrashedBooks(w http.ResponseWriter, r *http.Request)
GET /api/trash/books
func (*App) HandleAPIImportBook ¶
func (app *App) HandleAPIImportBook(w http.ResponseWriter, r *http.Request)
POST /api/books/import
func (*App) HandleAPIRestoreTrashedBook ¶ added in v0.5.0
func (app *App) HandleAPIRestoreTrashedBook(w http.ResponseWriter, r *http.Request)
POST /api/trash/books/{book_id}/restore
func (*App) HandleAPITrashBook ¶ added in v0.5.0
func (app *App) HandleAPITrashBook(w http.ResponseWriter, r *http.Request)
POST /api/books/{book_id}/trash
func (*App) HandleAPIUpdateBook ¶
func (app *App) HandleAPIUpdateBook(w http.ResponseWriter, r *http.Request)
PATCH /api/books/{book_id}
func (*App) HandleAPIUpdateBookCover ¶
func (app *App) HandleAPIUpdateBookCover(w http.ResponseWriter, r *http.Request)
PUT /api/books/{book_id}/cover
func (*App) HandleAPIUpdateBookSourceContent ¶ added in v0.3.0
func (app *App) HandleAPIUpdateBookSourceContent(w http.ResponseWriter, r *http.Request)
PATCH /api/books/{book_id}/sources/{source_id}/content
func (*App) HandleAPIUpdateBookSplitConfig ¶
func (app *App) HandleAPIUpdateBookSplitConfig(w http.ResponseWriter, r *http.Request)
PATCH /api/books/{book_id}/split_config
func (*App) HandleAPIUpdateMarks ¶
func (app *App) HandleAPIUpdateMarks(w http.ResponseWriter, r *http.Request)
POST /api/marks/{book_id}
func (*App) HandleAPIUpdateReadHistory ¶
func (app *App) HandleAPIUpdateReadHistory(w http.ResponseWriter, r *http.Request)
POST /api/read_history?book_id={book_id}
func (*App) HandleSPAFallback ¶
func (app *App) HandleSPAFallback(w http.ResponseWriter, r *http.Request)
Handle SPA fallback for all non-API GET requests
func (*App) ImportFromLocalPath ¶ added in v0.5.0
ImportFromLocalPath imports a book from a local file path on the server. This is intended for desktop application use, where the client can specify a local file path and the server can access it directly.
func (*App) SecurityToken ¶ added in v0.2.0
func (*App) SecurityTokenHeader ¶ added in v0.2.0
type Security ¶ added in v0.2.0
type Security struct {
// contains filtered or unexported fields
}
func NewSecurity ¶ added in v0.2.0
func NewSecurity(conf *SecurityConf) (*Security, error)
func (*Security) LogStartup ¶ added in v0.2.0
func (*Security) Middleware ¶ added in v0.2.0
func (*Security) TokenHeader ¶ added in v0.2.0
type SecurityConf ¶ added in v0.2.0
type SecurityConf struct {
Mode SecurityMode `yaml:"mode"`
ProtectRead bool `yaml:"protect_read"`
TokenHeader string `yaml:"token_header"`
AllowMissingOriginWithToken *bool `yaml:"allow_missing_origin_with_token"`
AllowedOrigins []string `yaml:"allowed_origins"`
}
type SecurityMode ¶ added in v0.2.0
type SecurityMode string
const ( SecurityModeUnset SecurityMode = "" SecurityModeLocalToken SecurityMode = "local_token" SecurityModeNone SecurityMode = "none" SecurityModePassword SecurityMode = "password" SecurityModeExternal SecurityMode = "external" )
type TrashedBook ¶ added in v0.5.0
type UpdateBookRequest ¶
type UpdateBookRequest struct {
Title *string `json:"title"`
Authors *[]string `json:"authors"`
Tags *[]string `json:"tags"`
Language *string `json:"language"`
Comment *string `json:"comment"`
PublishedAt *util.JSONTime `json:"published_at"`
Layer *shelf.Layers `json:"layer"`
Layers *shelf.Layers `json:"layers"`
}