Highly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram. If you use v1.0 or upgrade broke you proxy, please read the chapter Version 2
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

12345678910111213141516171819202122232425262728293031
  1. package files
  2. import (
  3. "context"
  4. "fmt"
  5. "io"
  6. "os"
  7. )
  8. type localFile struct {
  9. path string
  10. }
  11. func (l localFile) Open(ctx context.Context) (io.ReadCloser, error) {
  12. return os.Open(l.path) //nolint: wrapcheck
  13. }
  14. func (l localFile) String() string {
  15. return l.path
  16. }
  17. // NewLocal returns an openable File for a path on a local file system.
  18. func NewLocal(path string) (File, error) {
  19. if stat, err := os.Stat(path); os.IsNotExist(err) || stat.IsDir() || stat.Mode().Perm()&0o400 == 0 {
  20. return nil, fmt.Errorf("%s is not a readable file", path)
  21. }
  22. return localFile{
  23. path: path,
  24. }, nil
  25. }