MCPcopy Index your code
hub / github.com/ddserver/ddserver / main

Function main

ddserver/recursor/__main__.py:200–242  ·  view source on GitHub ↗
(logger)

Source from the content-addressed store, hash-verified

198
199@require(logger='ddserver.utils.logger:Logger')
200def main(logger):
201 messages = receiver()
202
203 # Handle messages until HELO was received
204 for message in messages:
205 # Handle HELO message
206 if message.tag == 'HELO':
207 # Expecting ABI version 1
208 if message.version != 1:
209 logger.error('recursor: Unappropriate ABI version: %s', message.version)
210 send(formatter.FAIL)
211
212 send(formatter.OK,
213 banner='ddserver')
214 break
215
216 else:
217 logger.error('recursor: Missing HELO before command: %s', message.tag)
218 send(formatter.FAIL)
219
220 # Handle all messages after HELO
221 for message in messages:
222 if message.tag == 'HELO':
223 logger.error('recursor: Duplicated HELO')
224 send(formatter.FAIL)
225
226 elif message.tag == 'Q':
227 # Handle query
228 answer(query=message)
229
230 send(formatter.END)
231
232 elif message.tag == 'AXFR':
233 # We do not support transfer by now
234 send(formatter.END)
235
236 elif message.tag == 'PING':
237 # Ping does not require any data response
238 send(formatter.END)
239
240 else:
241 logger.error('recursor: Unhandled message tag: %s', message)
242 send(formatter.FAIL)
243
244
245if __name__ == '__main__':

Callers 1

__main__.pyFile · 0.70

Calls 4

receiverFunction · 0.85
sendFunction · 0.85
answerFunction · 0.85
errorMethod · 0.80

Tested by

no test coverage detected