本文整理汇总了Golang中spool-mock/client.Conn.User方法的典型用法代码示例。如果您正苦于以下问题:Golang Conn.User方法的具体用法?Golang Conn.User怎么用?Golang Conn.User使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类spool-mock/client.Conn
的用法示例。
在下文中一共展示了Conn.User方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: req
func req(conn *client.Conn) {
conn.Send("200 StoreD")
for {
tok, e := conn.ReadLine()
if e != nil {
fmt.Println(fmt.Sprintf("WARN: C(%s): %s", conn.RemoteAddr(), e.Error()))
break
}
cmd := strings.ToUpper(tok[0])
if cmd == "QUIT" {
Quit(conn, tok)
break
} else if cmd == "ARTICLE" {
Article(conn, tok)
} else if cmd == "HEAD" {
Head(conn, tok)
} else if cmd == "BODY" {
Body(conn, tok)
} else if cmd == "STAT" {
Stat(conn, tok)
} else if cmd == "AUTHINFO" {
sub := strings.ToUpper(tok[1])
if sub == "USER" {
conn.User = tok[2]
conn.Send("381 Need more.")
} else if sub == "PASS" {
if tok[2] == "test" {
conn.Send("281 Authentication accepted.")
}
}
} else if cmd == "GROUP" {
Group(conn, tok)
} else if cmd == "NOOP" {
conn.Send("500 Unsupported.")
} else if cmd == "IHAVE" {
PostArticle(conn, tok)
} else if cmd == "POST" {
if e := conn.Send("340 Start posting."); e != nil {
conn.Send("437 Start failed.")
}
br := bufio.NewReader(conn.GetReader())
if _, e := io.Copy(ioutil.Discard, dotreader.New(br)); e != nil {
conn.Send("437 Failed reading body")
return
}
if e := conn.Send("240 Posted "); e != nil {
conn.Send("437 Failed storing.")
}
} else if cmd == "XOVER" {
Xover(conn, tok)
} else if cmd == "XHDR" {
Xhdr(conn, tok)
} else if cmd == "LIST" {
List(conn, tok)
} else if cmd == "DATE" {
Date(conn, tok)
} else {
Unsupported(conn, tok)
break
}
}
conn.Close()
if config.Verbose {
fmt.Println(fmt.Sprintf("C(%s) Closed", conn.RemoteAddr()))
}
}