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
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package cli
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "io"
  6. "os"
  7. )
  8. func Fatal(arg interface{}) {
  9. if value, ok := arg.(error); ok {
  10. arg = fmt.Errorf("fatal error: %+v", value) // nolint: errorlint
  11. }
  12. PrintStderr(arg)
  13. os.Exit(1)
  14. }
  15. func PrintStderr(args ...interface{}) {
  16. fmt.Fprintln(os.Stderr, args...)
  17. }
  18. func PrintStdout(args ...interface{}) {
  19. fmt.Println(args...) // nolint: forbidigo
  20. }
  21. func PrintJSONStderr(data interface{}) {
  22. printJSON(os.Stderr, data)
  23. }
  24. func PrintJSONStdout(data interface{}) {
  25. printJSON(os.Stdout, data)
  26. }
  27. func printJSON(writer io.Writer, data interface{}) {
  28. encoder := json.NewEncoder(writer)
  29. encoder.SetEscapeHTML(false)
  30. encoder.SetIndent("", " ")
  31. if err := encoder.Encode(data); err != nil {
  32. panic(err)
  33. }
  34. }