11var assert = require ( 'assert' )
2+ var url = require ( 'url' )
23var stringKey = require ( 'dat-encoding' ) . toStr
34var nets = require ( 'nets' )
4- var parseUrl = require ( 'node-parse-url' )
55var datDns = require ( 'dat-dns' ) ( )
66var debug = require ( 'debug' ) ( 'dat-link-resolve' )
77
@@ -23,21 +23,22 @@ function resolve (link, cb) {
2323 }
2424
2525 function lookup ( ) {
26- var url = link . indexOf ( 'http' ) > - 1 ? link : 'http://' + link
27- var parsed = parseUrl ( url )
28- debug ( 'parsed url' , parsed )
29- if ( parsed . path && parsed . path !== '/' ) return resolveKey ( )
26+ debug ( 'lookup' , link )
27+ var parsed = url . parse ( link )
28+
29+ // parsed.host check b/c url.parse('beakerbrowser.com') returns parsed.pathname = 'beakerbrowser.com'
30+ if ( parsed . host && parsed . path && parsed . path !== '/' ) return resolveKey ( )
3031
3132 // If no path, check .well-known first
32- url = parsed . subdomain ? `${ parsed . subdomain } .${ parsed . domain } ` : parsed . domain
33- datDns . resolveName ( parsed . domain , function ( err , key ) {
33+ datDns . resolveName ( link , function ( err , key ) {
3434 if ( key ) return cb ( null , key )
3535 if ( err ) debug ( 'datDns.resolveName() error' , err )
3636 resolveKey ( )
3737 } )
3838
3939 function resolveKey ( ) {
40- nets ( { url : url , json : true } , function ( err , resp , body ) {
40+ var urlLink = link . indexOf ( 'http' ) > - 1 ? link : 'http://' + link
41+ nets ( { url : urlLink , json : true } , function ( err , resp , body ) {
4142 if ( err ) return cb ( err )
4243 if ( resp . statusCode !== 200 ) return cb ( body . message )
4344
0 commit comments