# Method Protocols.DNS.server_base()->reply_query()

Method reply_query

  ``protected` `mapping` reply_query(`mapping` `query`, `mapping` `udp_data`, `function`(`mapping`:`void`) `cb`)`

Description

  Reply to a query (stub).

Parameter `query`

  Parsed query.

Parameter `udp_data`

  Raw UDP data. If the server operates in TCP mode (tcp_server), it will contain an additional tcp_con entry. In that case, `udp_data->tcp_con->con` will contain the TCP connection the request was received on as Stdio.File object.

Parameter `cb`

  Callback you can call with the result instead of returning it. In that case, return `0` (zero).

  Overload this function to implement the proper lookup.

Note

  To indicate the default failure `cb` must be called with an argument of `0` (zero), and `0` (zero) be returned.

Returns

  Returns `0` (zero) when the `cb` callback will be used, or a result mapping if not:

  ``"rcode"` : `int`` | 0 (or omit) for success, otherwise one of the Protocols.DNS.* constants

  ``"an"` : `array`(`mapping`(`string`:`string`|`int`))|`void``

  Answer section:

  Array

  ``mapping`(`string`:`string`|`int`) `entry``

  ``"name"` : `string`|`array`(`string`)`
  ``"type"` : `int``
  ``"cl"` : `int``

  ``"qd"` : `array`|`void`` | Question section, same format as `an`; omit to return the original question
  ``"ns"` : `array`|`void`` | Authority section (usually NS records), same format as `an`
  ``"ar"` : `array`|`void`` | Additional section, same format as `an`
  ``"aa"` : `int`` | Set to 1 to include the Authoritative Answer bit in the response
  ``"tc"` : `int`` | Set to 1 to include the TrunCated bit in the response
  ``"rd"` : `int`` | Set to 1 to include the Recursion Desired bit in the response
  ``"ra"` : `int`` | Set to 1 to include the Recursion Available bit in the response
  ``"cd"` : `int`` | Set to 1 to include the Checking Disabled bit in the response
  ``"ad"` : `int`` | Set to 1 to include the Authenticated Data bit in the response