SYMBOL INDEX (258 symbols across 39 files) FILE: api.go constant ApiAuthCookieName (line 21) | ApiAuthCookieName = "storm-api-key" function appendSuffix (line 24) | func appendSuffix(s, suffix string) string { function New (line 32) | func New(log *zap.Logger, pool *ConnectionPool, pathPrefix string, apiKe... type Api (line 47) | type Api struct method DelugeHandler (line 56) | func (api *Api) DelugeHandler(f DelugeMethod) http.HandlerFunc { method ServeHTTP (line 80) | func (api *Api) ServeHTTP(rw http.ResponseWriter, r *http.Request) { method httpNotFound (line 85) | func (api *Api) httpNotFound() http.Handler { method templateContext (line 96) | func (api *Api) templateContext() interface{} { method renderTemplate (line 106) | func (api *Api) renderTemplate(fs afero.Fs, name string) { method bindStatic (line 148) | func (api *Api) bindStatic(router *mux.Router, development bool) { method keyFromRequest (line 175) | func (api *Api) keyFromRequest(r *http.Request) (string, bool) { method logForRequest (line 192) | func (api *Api) logForRequest(rw *WrappedResponse, r *http.Request) { method httpMiddlewareLog (line 216) | func (api *Api) httpMiddlewareLog(next http.Handler) http.Handler { method httpMiddlewareAuthenticate (line 226) | func (api *Api) httpMiddlewareAuthenticate(next http.Handler) http.Han... method bind (line 262) | func (api *Api) bind(development bool) { FILE: cmd/storm/server.go function signalContext (line 18) | func signalContext(ctx context.Context) context.Context { type Duration (line 35) | type Duration struct method UnmarshalFlag (line 39) | func (dur *Duration) UnmarshalFlag(value string) (err error) { type Path (line 44) | type Path method UnmarshalFlag (line 46) | func (p *Path) UnmarshalFlag(value string) error { type ServerOptions (line 58) | type ServerOptions struct method Logger (line 66) | func (options *ServerOptions) Logger() (*zap.Logger, error) { method RunHandler (line 81) | func (options *ServerOptions) RunHandler(ctx context.Context, log *zap... type DelugeOptions (line 111) | type DelugeOptions struct method Client (line 122) | func (options *DelugeOptions) Client() storm.DelugeProvider { method Pool (line 144) | func (options *DelugeOptions) Pool(log *zap.Logger) *storm.ConnectionP... type Options (line 148) | type Options struct function Main (line 153) | func Main() error { function main (line 186) | func main() { FILE: error.go type HTTPError (line 9) | type HTTPError interface type RPCError (line 14) | type RPCError struct method StatusCode (line 19) | func (RPCError) StatusCode() int { method Error (line 23) | func (e RPCError) Error() string { function Hint (line 31) | func Hint(code int, err error) error { type Error (line 42) | type Error struct method Error (line 47) | func (e *Error) Error() string { method StatusCode (line 51) | func (e *Error) StatusCode() int { type errorResponse (line 55) | type errorResponse struct function SendError (line 62) | func SendError(rw http.ResponseWriter, err error) { FILE: frontend/e2e/protractor.conf.js method onPrepare (line 26) | onPrepare() { FILE: frontend/e2e/src/app.po.ts class AppPage (line 3) | class AppPage { method navigateTo (line 4) | navigateTo(): Promise { method getTitleText (line 8) | getTitleText(): Promise { FILE: frontend/src/app/api.service.ts class ApiException (line 21) | class ApiException { method constructor (line 22) | constructor(public status: number, public error: string) { method message (line 28) | public get message(): Message { type State (line 37) | type State = type Torrent (line 48) | interface Torrent { type Label (line 83) | interface Label { type Hash (line 87) | interface Hash { type ViewTorrent (line 91) | interface ViewTorrent extends Torrent, Hash, Label { type Torrents (line 95) | interface Torrents { type TorrentOptions (line 99) | interface TorrentOptions { type AddTorrent (line 116) | interface AddTorrent { type AddTorrentRequest (line 122) | interface AddTorrentRequest extends AddTorrent { type AddTorrentResponse (line 126) | interface AddTorrentResponse { type TorrentLabels (line 130) | interface TorrentLabels { type SetTorrentLabelRequest (line 134) | interface SetTorrentLabelRequest { type SessionStatus (line 138) | interface SessionStatus { type DiskSpace (line 150) | interface DiskSpace { type ViewUpdate (line 154) | interface ViewUpdate { class ApiInterceptor (line 161) | class ApiInterceptor implements HttpInterceptor { method constructor (line 162) | constructor() { method catchError (line 165) | private catchError(err: HttpErrorResponse, caught: Observable, next: HttpHandler): Observable... class AuthInterceptor (line 177) | class AuthInterceptor implements HttpInterceptor { method constructor (line 180) | constructor(dialogService: DialogService) { method intercept (line 193) | public intercept(req: HttpRequest, next: HttpHandler): Observable... class ApiService (line 224) | class ApiService { method constructor (line 225) | constructor(private http: HttpClient, @Inject(ENVIRONMENT) private env... method url (line 228) | private url(endpoint: string): string { method ping (line 235) | public ping(): Observable { method sessionStatus (line 239) | public sessionStatus(): Observable { method freeDiskSpace (line 243) | public freeDiskSpace(path: string = ''): Observable { method viewUpdate (line 251) | public viewUpdate(etag?: string, state?: State): Observable { method plugins (line 279) | public plugins(): Observable { method enablePlugin (line 288) | public enablePlugin(name: string): Observable { method disablePlugin (line 297) | public disablePlugin(name: string): Observable { method pause (line 306) | public pause(...torrents: string[]): Observable { method resume (line 323) | public resume(...torrents: string[]): Observable { method torrent (line 340) | public torrent(id: string): Observable { method torrents (line 345) | public torrents(state?: State, ...torrents: string[]): Observable { method add (line 376) | public add(req: AddTorrentRequest): Observable { method labels (line 383) | public labels(): Observable { method createLabel (line 392) | public createLabel(name: string): Observable { method deleteLabel (line 401) | public deleteLabel(name: string): Observable { method torrentsLabels (line 412) | public torrentsLabels(state?: State, ...torrents: string[]): Observabl... method setTorrentLabel (line 423) | public setTorrentLabel(id: string, req: SetTorrentLabelRequest): Obser... FILE: frontend/src/app/app.component.ts type OptionalState (line 10) | type OptionalState = State | null; class AppComponent (line 18) | class AppComponent { method constructor (line 115) | constructor(private api: ApiService, private focus: FocusService, priv... method enableLabelPlugin (line 125) | private enableLabelPlugin(): Observable { method refreshInterval (line 147) | private refreshInterval(interval: number): void { method trackBy (line 195) | public trackBy(index: number, torrent: Hash): string { method onToggleInView (line 200) | onToggleInView(targetState: 'pause' | 'resume', torrents: ViewTorrent[... FILE: frontend/src/app/app.module.ts class AppModule (line 131) | class AppModule { FILE: frontend/src/app/components/activity-marker/activity-marker.component.ts class ActivityMarkerComponent (line 8) | class ActivityMarkerComponent { method constructor (line 10) | constructor() { } FILE: frontend/src/app/components/add-torrent-menu/add-torrent-config/add-torrent-config.component.ts class AddTorrentConfigComponent (line 9) | class AddTorrentConfigComponent { method constructor (line 12) | constructor() { method unsetFields (line 15) | public unsetFields($event: boolean, ...fields: (keyof TorrentOptions)[... FILE: frontend/src/app/components/add-torrent-menu/add-torrent-dialog-component.ts class AddTorrentDialogComponentDirective (line 8) | class AddTorrentDialogComponentDirective { method constructor (line 20) | constructor(injector: Injector) { method close (line 30) | public close(): void { method submit (line 34) | public submit(opt: AddTorrent): void { FILE: frontend/src/app/components/add-torrent-menu/add-torrent-file-input/add-torrent-file-input.component.ts class AddTorrentFileInputComponent (line 9) | class AddTorrentFileInputComponent extends AddTorrentDialogComponentDire... method constructor (line 10) | constructor(injector: Injector) { method arrayBufferToBase64 (line 17) | private arrayBufferToBase64(buffer: ArrayBuffer): string { method onResetErrors (line 27) | onResetErrors(): void { method onSubmit (line 31) | onSubmit($event: { files: Array }): void { FILE: frontend/src/app/components/add-torrent-menu/add-torrent-magnet-input/add-torrent-magnet-input.component.ts type MagnetInput (line 4) | interface MagnetInput { class AddTorrentMagnetInputComponent (line 13) | class AddTorrentMagnetInputComponent extends AddTorrentDialogComponentDi... method constructor (line 16) | constructor(injector: Injector) { method onSubmit (line 21) | onSubmit(): void { FILE: frontend/src/app/components/add-torrent-menu/add-torrent-menu.component.ts class AddTorrentMenuComponent (line 14) | class AddTorrentMenuComponent { method constructor (line 41) | constructor(private dialogService: DialogService) { method toggle (line 44) | public toggle($event): void { method openDialog (line 48) | private openDialog(component: any): void { FILE: frontend/src/app/components/add-torrent-menu/add-torrent-url-input/add-torrent-url-input.component.ts type URLInput (line 4) | interface URLInput { class AddTorrentUrlInputComponent (line 13) | class AddTorrentUrlInputComponent extends AddTorrentDialogComponentDirec... method constructor (line 16) | constructor(injector: Injector) { method onSubmit (line 21) | onSubmit(): void { FILE: frontend/src/app/components/api-key-dialog/api-key-dialog.component.ts class ApiKeyDialogComponent (line 9) | class ApiKeyDialogComponent{ method constructor (line 12) | constructor(private ref: DynamicDialogRef) { } method onSubmit (line 14) | onSubmit() { FILE: frontend/src/app/components/breakpoint-overlay/breakpoint-overlay.component.ts class BreakpointOverlayComponent (line 11) | class BreakpointOverlayComponent { method constructor (line 18) | constructor(breakpointObserver: BreakpointObserver) { FILE: frontend/src/app/components/connectivity-status/connectivity-status.component.ts class ConnectivityStatusComponent (line 10) | class ConnectivityStatusComponent implements OnChanges { method constructor (line 19) | constructor() { method ngOnChanges (line 51) | ngOnChanges(changes: SimpleChanges): void { FILE: frontend/src/app/components/delete-torrent-overlay/delete-torrent-overlay.component.ts class DeleteTorrentOverlayComponent (line 12) | class DeleteTorrentOverlayComponent { method constructor (line 22) | constructor(private api: ApiService) { method toggle (line 25) | public toggle($event): void { method onRemove (line 29) | onRemove(withData: boolean): void { FILE: frontend/src/app/components/plugin-enable/plugin-enable.component.ts class PluginEnableComponent (line 10) | class PluginEnableComponent implements OnInit { method constructor (line 15) | constructor(private ref: DynamicDialogRef, private config: DynamicDial... method ngOnInit (line 19) | ngOnInit(): void { method onSubmit (line 22) | onSubmit(): void { FILE: frontend/src/app/components/session-status/session-status.component.ts class SessionStatusComponent (line 9) | class SessionStatusComponent implements OnInit { method constructor (line 13) | constructor() { method ngOnInit (line 16) | ngOnInit(): void { FILE: frontend/src/app/components/torrent-details-dialog/torrent-details-dialog.component.ts class TorrentDetailsDialogComponent (line 11) | class TorrentDetailsDialogComponent { method constructor (line 15) | constructor(private ref: DynamicDialogRef, private config: DynamicDial... method onRemoved (line 20) | public onRemoved(): void { class TorrentDetailsDialogService (line 29) | class TorrentDetailsDialogService { method constructor (line 30) | constructor(private dialogService: DialogService) { method open (line 33) | public open(id: string, torrent: Observable): void { FILE: frontend/src/app/components/torrent-edit-label-dialog/torrent-edit-label-dialog.component.ts type LabelSuggestion (line 7) | interface LabelSuggestion { class TorrentEditLabelDialogComponent (line 18) | class TorrentEditLabelDialogComponent { method constructor (line 28) | constructor(private ref: DynamicDialogRef, config: DynamicDialogConfig... method onDeleteLabel (line 80) | onDeleteLabel($event: { preventDefault: () => void }, name: string): v... method onComplete (line 94) | onComplete($event: { query: string }) { method onApplySuggestion (line 98) | onApplySuggestion(suggestion: LabelSuggestion): void { class TorrentEditLabelService (line 126) | class TorrentEditLabelService { method constructor (line 127) | constructor(private dialogService: DialogService) { method open (line 130) | public open(id: string, currentLabel?: string): Observable { FILE: frontend/src/app/components/torrent-label/torrent-label.component.ts class TorrentLabelComponent (line 9) | class TorrentLabelComponent { method constructor (line 13) | constructor(private editLabelService: TorrentEditLabelService) { } method onUpdateLabel (line 15) | onUpdateLabel(): void { FILE: frontend/src/app/components/torrent-search/torrent-search.component.ts type CT (line 7) | interface CT { class TorrentSearchComponent (line 29) | class TorrentSearchComponent { method constructor (line 37) | constructor(private dialogService: DialogService) { method setTarget (line 41) | private setTarget(target: keyof typeof EntryComponents): void { method onClear (line 62) | onClear(): void { method onChange (line 69) | onChange($event: string): void { method onAdd (line 83) | onAdd(): void { FILE: frontend/src/app/components/torrent-state/torrent-state.component.ts class TorrentStateComponent (line 9) | class TorrentStateComponent { method constructor (line 12) | constructor() { FILE: frontend/src/app/components/torrent/torrent.component.ts class TorrentComponent (line 11) | class TorrentComponent implements OnInit { method constructor (line 17) | constructor(private api: ApiService) { method ngOnInit (line 20) | ngOnInit(): void { method refreshAfter (line 23) | private refreshAfter(action: Observable): void { method onPause (line 32) | public onPause(): void { method onResume (line 36) | public onResume(): void { method onChangeState (line 40) | public onChangeState(): void { FILE: frontend/src/app/environment.ts type Environment (line 3) | interface Environment { constant ENVIRONMENT (line 7) | const ENVIRONMENT = new InjectionToken('app.environment'); FILE: frontend/src/app/focus.service.ts class FocusService (line 7) | class FocusService { method constructor (line 10) | constructor() { method observe (line 26) | public get observe(): Observable { FILE: frontend/src/app/order-by.pipe.ts class OrderByPipe (line 7) | class OrderByPipe implements PipeTransform { method transform (line 9) | transform(values: Array, field: undefined | keyof T, orderType: ... FILE: frontend/src/app/torrent-search.pipe.ts type LabelledTorrent (line 4) | type LabelledTorrent = Label & Torrent; class TorrentSearchPipe (line 9) | class TorrentSearchPipe implements PipeTransform { method filter (line 11) | private filter(term: string): (t: LabelledTorrent) => boolean { method transform (line 31) | transform(values: Array, term: string): ... FILE: http.go type HandlerFunc (line 9) | type HandlerFunc function Send (line 12) | func Send(rw http.ResponseWriter, code int, data interface{}) { function NoContent (line 23) | func NoContent(rw http.ResponseWriter) { function Handle (line 27) | func Handle(rw http.ResponseWriter, r *http.Request, handler HandlerFunc... FILE: methods.go type DelugeMethod (line 11) | type DelugeMethod function torrentIDs (line 13) | func torrentIDs(q url.Values, min int) ([]string, error) { function httpTorrentsStatus (line 22) | func httpTorrentsStatus(conn deluge.DelugeClient, r *http.Request) (inte... function httpDeleteTorrents (line 32) | func httpDeleteTorrents(conn deluge.DelugeClient, r *http.Request) (inte... function httpPauseTorrents (line 55) | func httpPauseTorrents(conn deluge.DelugeClient, r *http.Request) (inter... function httpResumeTorrents (line 64) | func httpResumeTorrents(conn deluge.DelugeClient, r *http.Request) (inte... type AddTorrentRequest (line 73) | type AddTorrentRequest struct type AddTorrentResponse (line 81) | type AddTorrentResponse struct function httpAddTorrent (line 85) | func httpAddTorrent(conn deluge.DelugeClient, r *http.Request) (interfac... type TorrentMethod (line 117) | type TorrentMethod function TorrentHandler (line 119) | func TorrentHandler(f TorrentMethod) DelugeMethod { function httpTorrentStatus (line 126) | func httpTorrentStatus(id string, conn deluge.DelugeClient, _ *http.Requ... function httpDeleteTorrent (line 130) | func httpDeleteTorrent(id string, conn deluge.DelugeClient, r *http.Requ... function httpPauseTorrent (line 143) | func httpPauseTorrent(id string, conn deluge.DelugeClient, _ *http.Reque... function httpResumeTorrent (line 147) | func httpResumeTorrent(id string, conn deluge.DelugeClient, _ *http.Requ... function httpSetTorrentOptions (line 151) | func httpSetTorrentOptions(id string, conn deluge.DelugeClient, r *http.... function httpGetSessionStatus (line 162) | func httpGetSessionStatus(conn deluge.DelugeClient, _ *http.Request) (in... type GetFreeSpaceResponse (line 166) | type GetFreeSpaceResponse struct function httpGetFreeSpace (line 170) | func httpGetFreeSpace(conn deluge.DelugeClient, r *http.Request) (interf... FILE: methods_labels.go function getClientV1 (line 11) | func getClientV1(conn deluge.DelugeClient) (*deluge.Client, error) { function labelPluginClient (line 23) | func labelPluginClient(conn deluge.DelugeClient) (*deluge.LabelPlugin, e... function httpLabels (line 35) | func httpLabels(conn deluge.DelugeClient, r *http.Request) (interface{},... function httpCreateLabel (line 45) | func httpCreateLabel(conn deluge.DelugeClient, r *http.Request) (interfa... function httpDeleteLabel (line 62) | func httpDeleteLabel(conn deluge.DelugeClient, r *http.Request) (interfa... function httpTorrentsLabels (line 83) | func httpTorrentsLabels(conn deluge.DelugeClient, r *http.Request) (inte... type SetTorrentLabelRequest (line 104) | type SetTorrentLabelRequest struct function httpSetTorrentLabel (line 109) | func httpSetTorrentLabel(id string, conn deluge.DelugeClient, r *http.Re... FILE: methods_plugins.go function httpGetPlugins (line 10) | func httpGetPlugins(conn deluge.DelugeClient, r *http.Request) (interfac... function httpEnablePlugin (line 14) | func httpEnablePlugin(conn deluge.DelugeClient, r *http.Request) (interf... function httpDisablePlugin (line 25) | func httpDisablePlugin(conn deluge.DelugeClient, r *http.Request) (inter... FILE: methods_view.go type ViewTorrent (line 12) | type ViewTorrent struct type ViewUpdate (line 18) | type ViewUpdate struct type ViewUpdateResponse (line 24) | type ViewUpdateResponse struct function httpViewUpdate (line 29) | func httpViewUpdate(conn deluge.DelugeClient, r *http.Request) (interfac... FILE: pool.go type DelugeProvider (line 12) | type DelugeProvider type poolReq (line 14) | type poolReq struct method Send (line 21) | func (req *poolReq) Send(conn deluge.DelugeClient) bool { type idleConnection (line 30) | type idleConnection struct type Timer (line 35) | type Timer interface type timeTimer (line 40) | type timeTimer method Ch (line 42) | func (t *timeTimer) Ch() <-chan time.Time { method Stop (line 46) | func (t *timeTimer) Stop() bool { type nullTimer (line 50) | type nullTimer struct method Ch (line 52) | func (nullTimer) Ch() <-chan time.Time { method Stop (line 56) | func (nullTimer) Stop() bool { function NewConnectionPool (line 60) | func NewConnectionPool(log *zap.Logger, maxConnections int, idleConnecti... type ConnectionPool (line 78) | type ConnectionPool struct method nextIdle (line 95) | func (pool *ConnectionPool) nextIdle() { method idleExpired (line 126) | func (pool *ConnectionPool) idleExpired() { method putConn (line 139) | func (pool *ConnectionPool) putConn(conn deluge.DelugeClient) { method closeConns (line 169) | func (pool *ConnectionPool) closeConns() { method getConn (line 188) | func (pool *ConnectionPool) getConn(req *poolReq) { method worker (line 240) | func (pool *ConnectionPool) worker() { method Get (line 263) | func (pool *ConnectionPool) Get(ctx context.Context) (deluge.DelugeCli... method Put (line 283) | func (pool *ConnectionPool) Put(conn deluge.DelugeClient) { method Close (line 292) | func (pool *ConnectionPool) Close() { FILE: request.go constant MaxRequestSize (line 11) | MaxRequestSize = 5 << 20 function Read (line 15) | func Read(r *http.Request, into interface{}) error { FILE: response.go function WrapResponse (line 11) | func WrapResponse(rw http.ResponseWriter) *WrappedResponse { type WrappedResponse (line 19) | type WrappedResponse struct method WriteHeader (line 30) | func (rw *WrappedResponse) WriteHeader(code int) { method Write (line 44) | func (rw *WrappedResponse) Write(b []byte) (int, error) { method Code (line 50) | func (rw *WrappedResponse) Code() int { method Started (line 54) | func (rw *WrappedResponse) Started() time.Time { method Duration (line 59) | func (rw *WrappedResponse) Duration() time.Duration { method Len (line 64) | func (rw *WrappedResponse) Len() int { method Error (line 68) | func (rw *WrappedResponse) Error() error {