Update docs
							parent
							
								
									0117cff0e6
								
							
						
					
					
						commit
						154bfb19d5
					
				|  | @ -0,0 +1,73 @@ | |||
| /* | ||||
| Package filemanager provides a web interface to access your files | ||||
| wherever you are. To use this package as a middleware for your app, | ||||
| you'll need to import both File Manager and File Manager HTTP packages. | ||||
| 
 | ||||
| 	import ( | ||||
| 		fm "github.com/hacdias/filemanager" | ||||
| 		h "github.com/hacdias/filemanager/http" | ||||
| 	) | ||||
| 
 | ||||
| Then, you should create a new FileManager object with your options. In this | ||||
| case, I'm using BoltDB (via Storm package) as a Store. So, you'll also need | ||||
| to import "github.com/hacdias/filemanager/bolt". | ||||
| 
 | ||||
| 	db, _ := storm.Open("bolt.db") | ||||
| 
 | ||||
| 	m := &fm.FileManager{ | ||||
| 		NoAuth: false, | ||||
| 		DefaultUser: &fm.User{ | ||||
| 			AllowCommands: true, | ||||
| 			AllowEdit:     true, | ||||
| 			AllowNew:      true, | ||||
| 			AllowPublish:  true, | ||||
| 			Commands:      []string{"git"}, | ||||
| 			Rules:         []*fm.Rule{}, | ||||
| 			Locale:        "en", | ||||
| 			CSS:           "", | ||||
| 			Scope:         ".", | ||||
| 			FileSystem:    fileutils.Dir("."), | ||||
| 		}, | ||||
| 		Store: &fm.Store{ | ||||
| 			Config: bolt.ConfigStore{DB: db}, | ||||
| 			Users:  bolt.UsersStore{DB: db}, | ||||
| 			Share:  bolt.ShareStore{DB: db}, | ||||
| 		}, | ||||
| 		NewFS: func(scope string) fm.FileSystem { | ||||
| 			return fileutils.Dir(scope) | ||||
| 		}, | ||||
| 	} | ||||
| 
 | ||||
| The credentials for the first user are always 'admin' for both the user and | ||||
| the password, and they can be changed later through the settings. The first | ||||
| user is always an Admin and has all of the permissions set to 'true'. | ||||
| 
 | ||||
| Then, you should set the Prefix URL and the Base URL, using the following | ||||
| functions: | ||||
| 
 | ||||
| 		m.SetBaseURL("/") | ||||
| 		m.SetPrefixURL("/") | ||||
| 
 | ||||
| The Prefix URL is a part of the path that is already stripped from the | ||||
| r.URL.Path variable before the request arrives to File Manager's handler. | ||||
| This is a function that will rarely be used. You can see one example on Caddy | ||||
| filemanager plugin. | ||||
| 
 | ||||
| The Base URL is the URL path where you want File Manager to be available in. If | ||||
| you want to be available at the root path, you should call: | ||||
| 
 | ||||
| 		m.SetBaseURL("/") | ||||
| 
 | ||||
| But if you want to access it at '/admin', you would call: | ||||
| 
 | ||||
| 		m.SetBaseURL("/admin") | ||||
| 
 | ||||
| Now, that you already have a File Manager instance created, you just need to | ||||
| add it to your handlers using m.ServeHTTP which is compatible to http.Handler. | ||||
| We also have a m.ServeWithErrorsHTTP that returns the status code and an error. | ||||
| 
 | ||||
| One simple implementation for this, at port 80, in the root of the domain, would be: | ||||
| 
 | ||||
| 		http.ListenAndServe(":80", h.Handler(m)) | ||||
| */ | ||||
| package filemanager | ||||
|  | @ -1,56 +1,3 @@ | |||
| // Package filemanager provides a web interface to access your files
 | ||||
| // wherever you are. To use this package as a middleware for your app,
 | ||||
| // you'll need to create a filemanager instance:
 | ||||
| //
 | ||||
| // 		m, err := filemanager.New(database, user)
 | ||||
| //
 | ||||
| // Where 'user' contains the default options for new users. You can just
 | ||||
| // use 'filemanager.DefaultUser' or create yourself a default user:
 | ||||
| //
 | ||||
| // 		m, err := filemanager.New(database, filemanager.User{
 | ||||
| // 			Admin: 		   false,
 | ||||
| // 			AllowCommands: false,
 | ||||
| // 			AllowEdit:     true,
 | ||||
| // 			AllowNew:      true,
 | ||||
| // 			Commands:      []string{
 | ||||
| // 				"git",
 | ||||
| // 			},
 | ||||
| // 			Rules:         []*filemanager.Rule{},
 | ||||
| // 			CSS:           "",
 | ||||
| // 			FileSystem:    webdav.Dir("/path/to/files"),
 | ||||
| // 		})
 | ||||
| //
 | ||||
| // The credentials for the first user are always 'admin' for both the user and
 | ||||
| // the password, and they can be changed later through the settings. The first
 | ||||
| // user is always an Admin and has all of the permissions set to 'true'.
 | ||||
| //
 | ||||
| // Then, you should set the Prefix URL and the Base URL, using the following
 | ||||
| // functions:
 | ||||
| //
 | ||||
| // 		m.SetBaseURL("/")
 | ||||
| // 		m.SetPrefixURL("/")
 | ||||
| //
 | ||||
| // The Prefix URL is a part of the path that is already stripped from the
 | ||||
| // r.URL.Path variable before the request arrives to File Manager's handler.
 | ||||
| // This is a function that will rarely be used. You can see one example on Caddy
 | ||||
| // filemanager plugin.
 | ||||
| //
 | ||||
| // The Base URL is the URL path where you want File Manager to be available in. If
 | ||||
| // you want to be available at the root path, you should call:
 | ||||
| //
 | ||||
| // 		m.SetBaseURL("/")
 | ||||
| //
 | ||||
| // But if you want to access it at '/admin', you would call:
 | ||||
| //
 | ||||
| // 		m.SetBaseURL("/admin")
 | ||||
| //
 | ||||
| // Now, that you already have a File Manager instance created, you just need to
 | ||||
| // add it to your handlers using m.ServeHTTP which is compatible to http.Handler.
 | ||||
| // We also have a m.ServeWithErrorsHTTP that returns the status code and an error.
 | ||||
| //
 | ||||
| // One simple implementation for this, at port 80, in the root of the domain, would be:
 | ||||
| //
 | ||||
| // 		http.ListenAndServe(":80", m)
 | ||||
| package filemanager | ||||
| 
 | ||||
| import ( | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Henrique Dias
						Henrique Dias