()
| 293 | } |
| 294 | |
| 295 | func (j *JSQuery) ToQuery() *dns.Msg { |
| 296 | var answers []dns.RR |
| 297 | var extras []dns.RR |
| 298 | var nameservers []dns.RR |
| 299 | var questions []dns.Question |
| 300 | |
| 301 | for _, jsRR := range j.Answers { |
| 302 | rr, err := ToRR(jsRR) |
| 303 | if err != nil { |
| 304 | log.Error(err.Error()) |
| 305 | continue |
| 306 | } |
| 307 | answers = append(answers, rr) |
| 308 | } |
| 309 | for _, jsRR := range j.Extras { |
| 310 | rr, err := ToRR(jsRR) |
| 311 | if err != nil { |
| 312 | log.Error(err.Error()) |
| 313 | continue |
| 314 | } |
| 315 | extras = append(extras, rr) |
| 316 | } |
| 317 | for _, jsRR := range j.Nameservers { |
| 318 | rr, err := ToRR(jsRR) |
| 319 | if err != nil { |
| 320 | log.Error(err.Error()) |
| 321 | continue |
| 322 | } |
| 323 | nameservers = append(nameservers, rr) |
| 324 | } |
| 325 | |
| 326 | for _, jsQ := range j.Questions { |
| 327 | questions = append(questions, dns.Question{ |
| 328 | Name: jsPropToString(jsQ, "Name"), |
| 329 | Qtype: jsPropToUint16(jsQ, "Qtype"), |
| 330 | Qclass: jsPropToUint16(jsQ, "Qclass"), |
| 331 | }) |
| 332 | } |
| 333 | |
| 334 | query := &dns.Msg{ |
| 335 | MsgHdr: dns.MsgHdr{ |
| 336 | Id: j.Header.Id, |
| 337 | Response: j.Header.Response, |
| 338 | Opcode: j.Header.Opcode, |
| 339 | Authoritative: j.Header.Authoritative, |
| 340 | Truncated: j.Header.Truncated, |
| 341 | RecursionDesired: j.Header.RecursionDesired, |
| 342 | RecursionAvailable: j.Header.RecursionAvailable, |
| 343 | Zero: j.Header.Zero, |
| 344 | AuthenticatedData: j.Header.AuthenticatedData, |
| 345 | CheckingDisabled: j.Header.CheckingDisabled, |
| 346 | Rcode: j.Header.Rcode, |
| 347 | }, |
| 348 | Compress: j.Compress, |
| 349 | Question: questions, |
| 350 | Answer: answers, |
| 351 | Ns: nameservers, |
| 352 | Extra: extras, |
no test coverage detected