Overview
| Comment: | Add more (optional) verbosity to the URI downloading procedure. |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA1: |
dbe5f9fb75d9ccb9a025e3df11059785 |
| User & Date: | mistachkin on 2016-10-17 22:48:22 |
| Other Links: | manifest | tags |
Context
|
2016-10-18
| ||
| 05:47 | Run the saved 'package unknown' handler first, check its results, and skip the repository handler if appropriate. Allow the package persistence root directory to be overridden and verified easily. Procedure naming cleanup for OpenPGP. Attempt to avoid adding redundant directories to the auto-path. Modify the master package index when the *target* language is Tcl, not the current language. Upon loading the package downloader package, add the package persistence root directory to the auto-path if it resides outside of all auto-path directories. check-in: ff305e4211 user: mistachkin tags: trunk | |
|
2016-10-17
| ||
| 22:48 | Add more (optional) verbosity to the URI downloading procedure. check-in: dbe5f9fb75 user: mistachkin tags: trunk | |
| 21:28 | Add support for using multiple API keys in one server request. check-in: 4f3cbf49bf user: mistachkin tags: trunk | |
Changes
Modified client/1.0/pkgr.eagle from [34c15c37b8] to [2dae113b30].
| ︙ | ︙ | |||
1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 |
#
variable allowInsecureUri; # DEFAULT: false
if {![info exists allowInsecureUri]} then {
set allowInsecureUri false
}
#
# NOTE: Is this HTTP request processor allowed to use plain HTTP if/when
# the server responds with an HTTP redirect location to an original
# URI that was HTTPS? Otherwise, a script error will result.
#
variable allowInsecureRedirect; # DEFAULT: false
| > > > > > > > > > > | 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 |
#
variable allowInsecureUri; # DEFAULT: false
if {![info exists allowInsecureUri]} then {
set allowInsecureUri false
}
#
# NOTE: Emit diagnostic messages when the [::http::geturl] procedure is
# about to be called?
#
variable verboseGetUrl; # DEFAULT: false
if {![info exists verboseGetUrl]} then {
set verboseGetUrl false
}
#
# NOTE: Is this HTTP request processor allowed to use plain HTTP if/when
# the server responds with an HTTP redirect location to an original
# URI that was HTTPS? Otherwise, a script error will result.
#
variable allowInsecureRedirect; # DEFAULT: false
|
| ︙ | ︙ | |||
1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 |
}
if {![isEagle]} then {
###########################################################################
############################# BEGIN Tcl ONLY ##############################
###########################################################################
#
# NOTE: This procedure was stolen from the "getEagle.tcl" script. It is
# designed to emit a progress indicator while an HTTP request is
# being processed. The channel argument is the Tcl channel where
# the progress indicator should be emitted. The type argument is
# the single-character progress indicator. The milliseconds
# argument is the number of milliseconds to wait until the next
| > > > > > > > > > > | 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 |
}
if {![isEagle]} then {
###########################################################################
############################# BEGIN Tcl ONLY ##############################
###########################################################################
#
# NOTE: This procedure emits a message to the HTTP client log. The string
# argument is the content of the message to emit.
#
proc pageLog { string } {
catch {
tclLog [appendArgs [pid] " : " [clock seconds] " : http : " $string]
}
}
#
# NOTE: This procedure was stolen from the "getEagle.tcl" script. It is
# designed to emit a progress indicator while an HTTP request is
# being processed. The channel argument is the Tcl channel where
# the progress indicator should be emitted. The type argument is
# the single-character progress indicator. The milliseconds
# argument is the number of milliseconds to wait until the next
|
| ︙ | ︙ | |||
1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 |
#
# NOTE: This variable is used to determine if plain HTTP is allowed if
# the "tls" package is not available.
#
variable allowInsecureUri
#
# NOTE: This variable is used to determine if plain HTTP is allowed if
# an HTTP redirect response contains an HTTP URI and the original
# URI was HTTPS.
#
variable allowInsecureRedirect
| > > > > > > | 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 |
#
# NOTE: This variable is used to determine if plain HTTP is allowed if
# the "tls" package is not available.
#
variable allowInsecureUri
#
# NOTE: This variable is used to determine if a diagnostic message is
# emitted when [::http::geturl] is about to be called.
#
variable verboseGetUrl
#
# NOTE: This variable is used to determine if plain HTTP is allowed if
# an HTTP redirect response contains an HTTP URI and the original
# URI was HTTPS.
#
variable allowInsecureRedirect
|
| ︙ | ︙ | |||
1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 |
#
set redirectCount 0
while {1} {
#
# NOTE: Issue the HTTP request now, grabbing the resulting token.
#
set token [eval [list ::http::geturl $uri] $args]
#
# NOTE: Grab the HTTP response code and data now as they are needed
# in almost all cases.
#
set code [::http::ncode $token]; set data [::http::data $token]
| > > > > > > > > > | 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 |
#
set redirectCount 0
while {1} {
#
# NOTE: Issue the HTTP request now, grabbing the resulting token.
#
if {$verboseGetUrl} then {
#
# NOTE: Emit important diagnostic information related to this
# HTTP request here. This may be enhanced in the future.
#
pageLog [appendArgs \
"attempting to download URL \"" $uri \"...]
}
set token [eval [list ::http::geturl $uri] $args]
#
# NOTE: Grab the HTTP response code and data now as they are needed
# in almost all cases.
#
set code [::http::ncode $token]; set data [::http::data $token]
|
| ︙ | ︙ |
Modified client/1.0/pkgr.eagle.asc from [878b5c2c87] to [71e8876083].
1 2 3 4 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository iQIcBAABCAAGBQJYBVUMAAoJEFAslq9JXcLZ/28P+QHqfz72NA83ojjtBSO9+g41 i6LVJCSq8bBfHkl+wE+kthWmkETHlu6IY67rBuJb0QDDi4VENwwUG+KyFVbRwt+w u0PfXhbDTZi0KzD7NbktGR8IQkLH4JRXnAxQNRtYP5/gIQuFBurh8w/1XXzi/sop cSSa8+qpNfQ60zVvrhE8yFvfw9VpE/RInqbWyOOMj5MST+BgoEjUjvVPHrox5IWR XnUFgV+iwvaCqjynI5swTuunpL13SxMUpdJf/Ghekij+vEXZQQtScdwP4XwgoB7r l2neeUOhlcfXISI5PhnjmJ8oRhJ7yMVCJXaFkzkq8dKOgrSDAkaGFFjZEkNPKGVo eguLISIXNG1A3ENYXuKyTsImk7cHEMHCdCeCi9rjzGVK+EvCiptIz/7Z6U7CZHKs GxcKJQa2Byd6jKn7qZR2xu3CQ7NGsYMb08/PXNn0rIdNQVvqAYAhvGBiwQW1H7Sw Ohl55pYAMkbCiC2tsX6IcvCVjLqwZJYe6hPh5rdRrJ5bc/KLaGLzttMC1j1dNmL5 xDMTVdR1G9HyrMj42CO+1Ch8a4hMPLxbXieBq434diEVXNRX8oU1Ap2S+WFa8tiO VIjTbR6+8bJ+1uWHwNDYa/h+CLFDyUFlty4kqqYSqACWCrnbXXvqTneY00HpbOjG eNW7DqidxrUaQOBD5WIA =JT0J -----END PGP SIGNATURE----- |
Modified client/1.0/pkgr.eagle.harpy from [6f9feb1467] to [f98d20219b].
| ︙ | ︙ | |||
17 18 19 20 21 22 23 |
THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED.
-->
<Certificate xmlns="https://eagle.to/2011/harpy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Protocol>None</Protocol>
<Vendor>Mistachkin Systems</Vendor>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED.
-->
<Certificate xmlns="https://eagle.to/2011/harpy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Protocol>None</Protocol>
<Vendor>Mistachkin Systems</Vendor>
<Id>c1c2fa54-3faf-4030-8a03-3afb5193103c</Id>
<HashAlgorithm>SHA512</HashAlgorithm>
<EntityType>Script</EntityType>
<TimeStamp>2016-10-17T22:46:29.1886016Z</TimeStamp>
<Duration>-1.00:00:00</Duration>
<Key>0x9559f6017247e3e2</Key>
<Signature>
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
</Signature>
</Certificate>
|
Modified client/1.0/pkgr.eagle.harpy.asc from [bbbdef1e6e] to [167f4e126f].
1 2 3 4 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository | | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 Comment: Eagle Package Repository iQIcBAABCAAGBQJYBVUOAAoJEFAslq9JXcLZiPwQAIzmXsShuPAnAsIj6QZiy+9d IyyyW2zuUBpCt6swFCS4sXGN0tr8gcTZMvwlQBVwnE4bDCFfjKPmtQMZ0+cDa+Cx cL4qbYXD7Mm60mcrBgvL2hUAnHTGN0S9N7T0oEMmGKiRj8UI3uknOpxigeNLw1Jt ZDeCD4VvvyOt/pja86kng5DI4zyOw/8uGBQcIXihp+LTAVif50TI6+ZYAhKTzalk TGbDEniieDBgL8eeaLnrME+26le5vaG18ufSG7NwLdxTojfDv8qKb3Go5VW8VjKE fh8eMBwfYPWWBihoSpMb/miPrdCzWbOnRM77ZK70KWJS1VtODZ9whoq8flgos8uC stV1X94Pjxz+rL7GQSmnIOhVDwZb/7Yl5sHVGLBWMUixISEu4oIATjclKQV/Pcez OIRBnD//O2tYtu3V1niB5P4oUFdUUdSLek+uwu2fAXGswusyPx1ZXeusGFAAe4te jwx6NTbPQtOmKNMLnW+LvES7gXhoIzpv0GhXkM9hblbaCltBcoKijtJk7wj0Jrtb g1KOJcJ+6NqKVuPrdeN+IOJeMqPJGxKmQT6MVVhOg+yH1vv/0d7ogB3VOgzCfSu+ GuXcCVcwN96lV19miFflu2xP2Eg4LgS5I6LWtKwveh5jjWoYAFP0CNmFX3pUsfTo 5Hv2eDTbVVBoW08oVH0B =7fMl -----END PGP SIGNATURE----- |
Modified client/1.0/pkgr.settings.mistachkin.eagle from [14acab97e9] to [5b254843b7].
| ︙ | ︙ | |||
14 15 16 17 18 19 20 21 22 | # ############################################################################### # TODO: Set this to your list of API keys. # set ::pkgr_api_keys [list 0000000000000000000000000000000000000000] variable strictUnknownLanguage false variable verboseUnknownResult true variable verboseUriDownload true | > | 14 15 16 17 18 19 20 21 22 23 | # ############################################################################### # TODO: Set this to your list of API keys. # set ::pkgr_api_keys [list 0000000000000000000000000000000000000000] variable strictUnknownLanguage false variable verboseGetUrl true variable verboseUnknownResult true variable verboseUriDownload true |
Modified client/1.0/pkgr.settings.mistachkin.eagle.harpy from [b340ff244c] to [f852c72f10].
| ︙ | ︙ | |||
17 18 19 20 21 22 23 |
THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED.
-->
<Certificate xmlns="https://eagle.to/2011/harpy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Protocol>None</Protocol>
<Vendor>Mistachkin Systems</Vendor>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
THE ASSOCIATED SOFTWARE MAY NOT WORK PROPERLY IF THIS FILE IS ALTERED.
-->
<Certificate xmlns="https://eagle.to/2011/harpy"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Protocol>None</Protocol>
<Vendor>Mistachkin Systems</Vendor>
<Id>2585a4fc-8467-4d93-99d6-11c5afbcb752</Id>
<HashAlgorithm>SHA512</HashAlgorithm>
<EntityType>Script</EntityType>
<TimeStamp>2016-10-17T22:47:03.9483672Z</TimeStamp>
<Duration>-1.00:00:00</Duration>
<Key>0x9559f6017247e3e2</Key>
<Signature>
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
</Signature>
</Certificate>
|