UriHandler interface is implemented by URI scheme handlers. When adding new scheme handles, for example 'azure://', an object will implement this interface to supply Dgraph with a way to create or load backup files into DB. For all methods below, the URL object is parsed as described in `newHandler'
| 82 | // For all methods below, the URL object is parsed as described in `newHandler' and |
| 83 | // the Processor object has the DB, estimated tablets size, and backup parameters. |
| 84 | type UriHandler interface { |
| 85 | // CreateDir creates a directory relative to the root path of the handler. |
| 86 | CreateDir(path string) error |
| 87 | // CreateFile creates a file relative to the root path of the handler. It also makes the |
| 88 | // handler's descriptor to point to this file. |
| 89 | CreateFile(path string) (io.WriteCloser, error) |
| 90 | // DirExists returns true if the directory relative to the root path of the handler exists. |
| 91 | DirExists(path string) bool |
| 92 | // FileExists returns true if the file relative to the root path of the handler exists. |
| 93 | FileExists(path string) bool |
| 94 | // JoinPath appends the given path to the root path of the handler. |
| 95 | JoinPath(path string) string |
| 96 | // ListPaths returns a list of all the valid paths from the given root path. The given root path |
| 97 | // should be relative to the handler's root path. |
| 98 | ListPaths(path string) []string |
| 99 | // Read reads the file at given relative path and returns the read bytes. |
| 100 | Read(path string) ([]byte, error) |
| 101 | // Rename renames the src file to the destination file. |
| 102 | Rename(src, dst string) error |
| 103 | // Stream would stream the path via an instance of io.ReadCloser. Close must be called at the |
| 104 | // end to release resources appropriately. |
| 105 | Stream(path string) (io.ReadCloser, error) |
| 106 | } |
| 107 | |
| 108 | // NewUriHandler parses the requested URI and finds the corresponding UriHandler. |
| 109 | // If the passed credentials are not nil, they will be used to override the |
no outgoing calls
no test coverage detected