aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/repository/remote.lux
diff options
context:
space:
mode:
authorEduardo Julian2021-02-07 04:56:58 -0400
committerEduardo Julian2021-02-07 04:56:58 -0400
commitd99c47989a1047cd24019fd5ce434e701b5d3519 (patch)
tree19bfb0f5e4713e5dcd0c71bbd7b88d09d75dfe5d /stdlib/source/program/aedifex/repository/remote.lux
parent571d816dfd0b056a1649f5057867abbfa4421f5d (diff)
Mo' updates, less problems.
Diffstat (limited to 'stdlib/source/program/aedifex/repository/remote.lux')
-rw-r--r--stdlib/source/program/aedifex/repository/remote.lux34
1 files changed, 18 insertions, 16 deletions
diff --git a/stdlib/source/program/aedifex/repository/remote.lux b/stdlib/source/program/aedifex/repository/remote.lux
index 4979e5429..4b61bc36c 100644
--- a/stdlib/source/program/aedifex/repository/remote.lux
+++ b/stdlib/source/program/aedifex/repository/remote.lux
@@ -26,7 +26,7 @@
["." //
["#." identity (#+ Identity)]
["/#" // #_
- ["#." artifact (#+ Artifact)
+ ["#." artifact (#+ Version Artifact)
[extension (#+ Extension)]]]])
(type: #export Address
@@ -75,9 +75,9 @@
(exception.report
["Code" (%.int code)]))
-(def: #export (uri artifact extension)
- (-> Artifact Extension URI)
- (format (///artifact.uri artifact) extension))
+(def: #export (uri version_template artifact extension)
+ (-> Version Artifact Extension URI)
+ (format (///artifact.uri version_template artifact) extension))
(def: buffer_size
(n.* 512 1,024))
@@ -99,19 +99,21 @@
input (|> connection
java/net/URLConnection::getInputStream
(\ ! map (|>> java/io/BufferedInputStream::new)))
- #let [buffer (binary.create ..buffer_size)]]
- (loop [output (\ binary.monoid identity)]
- (do !
- [bytes_read (java/io/BufferedInputStream::read buffer +0 (.int ..buffer_size) input)]
- (case bytes_read
- -1 (do !
- [_ (java/lang/AutoCloseable::close input)]
- (wrap output))
- _ (if (n.= ..buffer_size bytes_read)
- (recur (\ binary.monoid compose output buffer))
+ #let [buffer (binary.create ..buffer_size)]
+ output (loop [output (\ binary.monoid identity)]
(do !
- [chunk (\ io.monad wrap (binary.slice 0 (.nat bytes_read) buffer))]
- (recur (\ binary.monoid compose output chunk)))))))))
+ [bytes_read (java/io/BufferedInputStream::read buffer +0 (.int ..buffer_size) input)]
+ (case bytes_read
+ -1 (do !
+ [_ (java/lang/AutoCloseable::close input)]
+ (wrap output))
+ +0 (recur output)
+ _ (if (n.= ..buffer_size bytes_read)
+ (recur (\ binary.monoid compose output buffer))
+ (do !
+ [chunk (\ io.monad wrap (binary.slice 0 (dec (.nat bytes_read)) buffer))]
+ (recur (\ binary.monoid compose output chunk)))))))]
+ (wrap output)))
(def: (upload uri content)
(case identity