Implement QUIT
This commit is contained in:
parent
84bc5ffd8e
commit
2ffbdcb39a
1 changed files with 8 additions and 2 deletions
|
@ -15,7 +15,7 @@ from nntp.tiny.newsgroup import Newsgroup
|
|||
from nntp.tiny.message import Message
|
||||
|
||||
class SessionState(enum.Flag):
|
||||
NONE = 0
|
||||
ACTIVE = 1
|
||||
AUTH_OK = enum.auto()
|
||||
AUTH_POST = enum.auto()
|
||||
|
||||
|
@ -104,7 +104,7 @@ class Session():
|
|||
def __init__(self, server: Server, sock: socket.socket):
|
||||
self.server: Server = server
|
||||
self.db: Database = server.db
|
||||
self.state: SessionState = SessionState.NONE
|
||||
self.state: SessionState = SessionState.ACTIVE
|
||||
self.sock: socket.socket = sock
|
||||
self.buf: LineBuffer = LineBuffer()
|
||||
|
||||
|
@ -554,6 +554,11 @@ class Session():
|
|||
return self.respond(ResponseCode.NNTP_DATE,
|
||||
timestamp.strftime("%Y%m%d%H%M%S"))
|
||||
|
||||
def _cmd_quit(self):
|
||||
self.state &= ~SessionState.ACTIVE
|
||||
|
||||
return self.respond(ResponseCode.NNTP_CONNECTION_CLOSING)
|
||||
|
||||
COMMANDS = {
|
||||
'CAPABILITIES': _cmd_capabilities,
|
||||
'GROUP': _cmd_group,
|
||||
|
@ -567,6 +572,7 @@ class Session():
|
|||
'HDR': _cmd_hdr,
|
||||
'STAT': _cmd_stat,
|
||||
'DATE': _cmd_date,
|
||||
'QUIT': _cmd_quit,
|
||||
}
|
||||
|
||||
def handle(self):
|
||||
|
|
Loading…
Add table
Reference in a new issue