From bb7740091eac7e88c240f19a92d6e9111aa78533 Mon Sep 17 00:00:00 2001 From: Sankaranarayanan Viswanathan Date: Wed, 28 Oct 2015 21:13:51 -0400 Subject: [PATCH] Auto load urls.secure when needed --- basis/urls/urls.factor | 4 ++-- core/vocabs/vocabs.factor | 3 +++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/basis/urls/urls.factor b/basis/urls/urls.factor index bc99601f76..3c38961bc4 100644 --- a/basis/urls/urls.factor +++ b/basis/urls/urls.factor @@ -4,7 +4,7 @@ USING: accessors arrays assocs combinators fry hashtables io.pathnames io.sockets kernel lexer make math.parser namespaces peg.ebnf present sequences splitting strings -strings.parser urls.encoding vocabs.loader ; +strings.parser urls.encoding vocabs vocabs.loader ; IN: urls @@ -187,7 +187,7 @@ PRIVATE> [ protocol>> protocol-port ] tri or ] [ protocol>> ] bi - secure-protocol? [ >secure-addr ] when ; + secure-protocol? [ "urls.secure" ensure-vocab-loaded >secure-addr ] when ; : set-url-addr ( url addr -- url ) [ host>> >>host ] [ port>> >>port ] bi ; diff --git a/core/vocabs/vocabs.factor b/core/vocabs/vocabs.factor index 66f706eac7..21fab738f5 100644 --- a/core/vocabs/vocabs.factor +++ b/core/vocabs/vocabs.factor @@ -161,3 +161,6 @@ M: string require ( vocab -- ) : load-vocab ( name -- vocab ) [ require ] [ lookup-vocab ] bi ; + +: ensure-vocab-loaded ( name -- ) + dup lookup-vocab [ drop ] [ require ] if ; -- 2.34.1