| Index: frog/lib/node/dns.dart
|
| ===================================================================
|
| --- frog/lib/node/dns.dart (revision 0)
|
| +++ frog/lib/node/dns.dart (revision 0)
|
| @@ -0,0 +1,100 @@
|
| +// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
|
| +// for details. All rights reserved. Use of this source code is governed by a
|
| +// BSD-style license that can be found in the LICENSE file.
|
| +
|
| +#library('dns');
|
| +#import('node.dart');
|
| +#import('nodeimpl.dart');
|
| +
|
| +// module dns
|
| +
|
| +typedef void DnsLookupCallback(Error err, String address, int family);
|
| +typedef void DnsResolveCallback(Error err, List addresses);
|
| +typedef void DnsResolve4Callback(Error err, List<String> addresses);
|
| +typedef void DnsResolve6Callback(Error err, List<String> addresses);
|
| +typedef void DnsResolveMxCallback(Error err, List<Map<String,String>> addresses);
|
| +typedef void DnsResolveTxtCallback(Error err, List<String> addresses);
|
| +typedef void DnsResolveSrvCallback(Error err, List<Map<String, Object>> addresses);
|
| +typedef void DnsReverseCallback(Error err, List<String> domains);
|
| +typedef void DnsResolveNsCallback(Error err, List<String> addresses);
|
| +typedef void DnsResolveCnameCallback(Error err, List<String> addresses);
|
| +
|
| +class Dns {
|
| + final BADNAME = 'EBADNAME';
|
| + final BADRESP = 'EBADRESP';
|
| + final CONNREFUSED = 'ECONNREFUSED';
|
| + final DESTRUCTION = 'EDESTRUCTION';
|
| + final REFUSED = 'EREFUSED';
|
| + final FORMERR = 'EFORMERR';
|
| + final NODATA = 'ENODATA';
|
| + final NOMEM = 'ENOMEM';
|
| + final NOTFOUND = 'ENOTFOUND';
|
| + final NOTIMP = 'ENOTIMP';
|
| + final SERVFAIL = 'ESERVFAIL';
|
| + final TIMEOUT = 'ETIMEOUT';
|
| +
|
| + var _dns;
|
| + Dns._from(var this._dns);
|
| +
|
| + void lookup(String domain, int family, DnsLookupCallback callback)
|
| + native "this._dns.lookup(domain, family, callback);";
|
| +
|
| + void resolve(String domain, String rrtype, DnsResolveCallback callback)
|
| + => _resolve(domain, rrtype, (Error err, address)
|
| + => callback(err, new NativeListPrimitiveElement<Object>(address)));
|
| + void _resolve(String domain, String rrtype, void callback(Error err, var address))
|
| + native "this._dns.resolve(domain, rrtype, callback)";
|
| +
|
| + void resolve4(String domain, DnsResolve4Callback callback)
|
| + => _resolve4(domain, (Error err, var addresses)
|
| + => callback(err, new NativeListPrimitiveElement<String>(addresses)));
|
| + void _resolve4(String domain, void callback(Error err, var addresses))
|
| + native "this._dns.resolve4(domain, callback)";
|
| +
|
| + void resolve6(String domain, DnsResolve6Callback callback)
|
| + => _resolve6(domain, (Error err, address)
|
| + => callback(err, new NativeListPrimitiveElement<String>(address)));
|
| + void _resolve6(String domain, void callback(Error err, var address))
|
| + native "this._dns.resolve6(domain, callback)";
|
| +
|
| + void resolveMx(String domain, DnsResolveMxCallback callback)
|
| + => _resolveMx(domain, (Error err, address)
|
| + => callback(err, new NativeList<Map<String,String>>(address, (var element)
|
| + => new NativeMapPrimitiveValue<String>(element))));
|
| + void _resolveMx(String domain, void callback(Error err, var address))
|
| + native "this._dns.resolveMx(domain, callback)";
|
| +
|
| + void resolveTxt(String domain, DnsResolveTxtCallback callback)
|
| + => _resolveTxt(domain, (Error err, address)
|
| + => callback(err, new NativeListPrimitiveElement<String>(address)));
|
| + void _resolveTxt(String domain, void callback(Error err, var address))
|
| + native "this._dns.resolveTxt(domain, callback)";
|
| +
|
| + void resolveSrv(String domain, DnsResolveSrvCallback callback)
|
| + => _resolveSrv(domain, (Error err, address)
|
| + => callback(err, new NativeList<Map<String,Object>>(address, (var element)
|
| + => new NativeMapPrimitiveValue<Object>(element))));
|
| + void _resolveSrv(String domain, void callback(Error err, var address))
|
| + native "this._dns.resolveSrv(domain, callback)";
|
| +
|
| + void reverse(String ip, DnsReverseCallback callback)
|
| + => _reverse(ip, (Error err, domains)
|
| + => callback(err, new NativeListPrimitiveElement<String>(domains)));
|
| + void _reverse(String ip, void callback(Error err, var domains))
|
| + native "this._dns.reverse(ip, callback)";
|
| +
|
| + void resolveNs(String domain, DnsResolveNsCallback callback)
|
| + => _resolveNs(domain, (Error err, address)
|
| + => callback(err, new NativeListPrimitiveElement<String>(address)));
|
| + void _resolveNs(String domain, void callback(Error err, var address))
|
| + native "this._dns.resolveNs(domain, callback)";
|
| +
|
| + void resolveCname(String domain, DnsResolveCnameCallback callback)
|
| + => _resolveCname(domain, (Error err, address)
|
| + => callback(err, new NativeListPrimitiveElement<String>(address)));
|
| + void _resolveCname(String domain, void callback(Error err, var address))
|
| + native "this._dns.resolveCname(domain, callback)";
|
| +
|
| +}
|
| +
|
| +Dns get dns() => new Dns._from(require('dns'));
|
|
|