Skip to content

Commit aaef4fc

Browse files
Rebrand to twim!
1 parent 7558f10 commit aaef4fc

23 files changed

+396
-55
lines changed

README.md

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,26 @@
11
# twim
2+
23
A X(Formally known as Twitter) API wrapper library for Nim. Inspired by [Tweepy](https://www.tweepy.org/) and [twitter.nim](https://github.com/snus-kin/twitter.nim).
34

45
Be aware I only free-tier API access to the X API so I will only develop for those endpoints.
56

67
This uses OAuth 1.0a.
78

89
## Endpoints supported:
10+
911
- POST v2/tweets
1012
- POST media/upload
1113

1214
## Install
15+
1316
```Bash
14-
git clone https://github.com/aspiring-aster/x.nim.git
15-
cd x.nim
17+
git clone https://github.com/aspiring-aster/twim.git
18+
cd twim
1619
nimble install
1720
```
1821

1922
## Example
23+
2024
```Nim
2125
import twim
2226
@@ -35,15 +39,18 @@ when isMainModule:
3539
const TOKEN_SECRET: string = "TOKENSECRET"
3640
3741
const xCli: XAPI = newXAPI(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEN, TOKEN_SECRET)
38-
let res: string = xCli.PostTextTweet("Hello from X.nim!")
42+
let res: string = xCli.PostTextTweet("Hello from twim!")
3943
echo res
4044
```
45+
4146
Look at the [OMORI upscale bot](https://github.com/aspiring-aster/omori-upscale-bot-v2/tree/main) as an example for how to use this API to deploy a bot on Twitter.
4247

43-
## Dependencies
48+
## Dependencies
49+
4450
- [nimcrypto](https://github.com/cheatfate/nimcrypto) - For SHA1-HMAC encoding to encode signature
4551

4652
## RoadMap:
53+
4754
- [ ] Add support for /tweets endpoints
4855
- [ ] Add support for quote tweets
4956
- [ ] Add suport for liking_users
@@ -52,3 +59,4 @@ Look at the [OMORI upscale bot](https://github.com/aspiring-aster/omori-upscale-
5259
- [ ] Add get for users
5360
- [ ] Support for /spaces endpoint
5461
- [ ] And a bunch of other stuff listed [here](https://developer.x.com/en/portal/products/free)
62+

docs/theindex.html

+29-7
Original file line numberDiff line numberDiff line change
@@ -21,28 +21,50 @@
2121
<div class="document" id="documentId">
2222
<div class="container">
2323
<h1 class="title">Index</h1>
24-
Modules: <a href="xnim.html">xnim</a>, <a href="xnim/utils/xapi.html">xnim/utils/xapi</a>, <a href="xnim/v2/tweets.html">xnim/v2/tweets</a>.<br/><p /><h2>API symbols</h2>
25-
<dl><dt><a name="newXAPI" href="#newXAPI"><span>newXAPI:</span></a></dt><dd><ul class="simple">
24+
Modules: <a href="twim.html">twim</a>, <a href="twim/utils/oauth1.html">twim/utils/oauth1</a>, <a href="twim/utils/xapi.html">twim/utils/xapi</a>, <a href="twim/v1_1/media.html">twim/v1_1/media</a>, <a href="twim/v2/tweets.html">twim/v2/tweets</a>.<br/><p /><h2>API symbols</h2>
25+
<dl><dt><a name="MEDIA_ENDPOINT" href="#MEDIA_ENDPOINT"><span>MEDIA_ENDPOINT:</span></a></dt><dd><ul class="simple">
2626
<li><a class="reference external"
27-
data-doc-search-tag="xapi: proc newXAPI(consumer_key: string; oauth_token: string): XAPI" href="xnim/utils/xapi.html#newXAPI%2Cstring%2Cstring">xapi: proc newXAPI(consumer_key: string; oauth_token: string): XAPI</a></li>
27+
data-doc-search-tag="media: const MEDIA_ENDPOINT" href="twim/v1_1/media.html#MEDIA_ENDPOINT">media: const MEDIA_ENDPOINT</a></li>
28+
</ul></dd>
29+
<dt><a name="newXAPI" href="#newXAPI"><span>newXAPI:</span></a></dt><dd><ul class="simple">
30+
<li><a class="reference external"
31+
data-doc-search-tag="xapi: proc newXAPI(consumer_key: string; consumer_secret: string; access_token: string;
32+
token_secret: string): XAPI" href="twim/utils/xapi.html#newXAPI%2Cstring%2Cstring%2Cstring%2Cstring">xapi: proc newXAPI(consumer_key: string; consumer_secret: string; access_token: string;
33+
token_secret: string): XAPI</a></li>
34+
</ul></dd>
35+
<dt><a name="OauthNonce" href="#OauthNonce"><span>OauthNonce:</span></a></dt><dd><ul class="simple">
36+
<li><a class="reference external"
37+
data-doc-search-tag="oauth1: proc OauthNonce(): string" href="twim/utils/oauth1.html#OauthNonce">oauth1: proc OauthNonce(): string</a></li>
38+
</ul></dd>
39+
<dt><a name="OauthSignature" href="#OauthSignature"><span>OauthSignature:</span></a></dt><dd><ul class="simple">
40+
<li><a class="reference external"
41+
data-doc-search-tag="oauth1: proc OauthSignature(xAPI: XAPI; httpMethod: string; endpoint: string; text: string;
42+
oAuthNonce: string; timeStamp: int): string" href="twim/utils/oauth1.html#OauthSignature%2CXAPI%2Cstring%2Cstring%2Cstring%2Cstring%2Cint">oauth1: proc OauthSignature(xAPI: XAPI; httpMethod: string; endpoint: string; text: string;
43+
oAuthNonce: string; timeStamp: int): string</a></li>
44+
</ul></dd>
45+
<dt><a name="PostMedia" href="#PostMedia"><span>PostMedia:</span></a></dt><dd><ul class="simple">
46+
<li><a class="reference external"
47+
data-doc-search-tag="media: proc PostMedia(xAPI: XAPI; fileName: string): string" href="twim/v1_1/media.html#PostMedia%2CXAPI%2Cstring">media: proc PostMedia(xAPI: XAPI; fileName: string): string</a></li>
2848
</ul></dd>
2949
<dt><a name="PostTextTweet" href="#PostTextTweet"><span>PostTextTweet:</span></a></dt><dd><ul class="simple">
3050
<li><a class="reference external"
31-
data-doc-search-tag="tweets: proc PostTextTweet(xAPI: XAPI; text: string): void" href="xnim/v2/tweets.html#PostTextTweet%2CXAPI%2Cstring">tweets: proc PostTextTweet(xAPI: XAPI; text: string): void</a></li>
51+
data-doc-search-tag="tweets: proc PostTextTweet(xAPI: XAPI; text: string): string" href="twim/v2/tweets.html#PostTextTweet%2CXAPI%2Cstring">tweets: proc PostTextTweet(xAPI: XAPI; text: string): string</a></li>
52+
<li><a class="reference external"
53+
data-doc-search-tag="tweets: proc PostTextTweet(xAPI: XAPI; text: string; media_ids: seq[string]): string" href="twim/v2/tweets.html#PostTextTweet%2CXAPI%2Cstring%2Cseq%5Bstring%5D">tweets: proc PostTextTweet(xAPI: XAPI; text: string; media_ids: seq[string]): string</a></li>
3254
</ul></dd>
3355
<dt><a name="TWEET_ENDPOINT" href="#TWEET_ENDPOINT"><span>TWEET_ENDPOINT:</span></a></dt><dd><ul class="simple">
3456
<li><a class="reference external"
35-
data-doc-search-tag="tweets: const TWEET_ENDPOINT" href="xnim/v2/tweets.html#TWEET_ENDPOINT">tweets: const TWEET_ENDPOINT</a></li>
57+
data-doc-search-tag="tweets: const TWEET_ENDPOINT" href="twim/v2/tweets.html#TWEET_ENDPOINT">tweets: const TWEET_ENDPOINT</a></li>
3658
</ul></dd>
3759
<dt><a name="XAPI" href="#XAPI"><span>XAPI:</span></a></dt><dd><ul class="simple">
3860
<li><a class="reference external"
39-
data-doc-search-tag="xapi: object XAPI" href="xnim/utils/xapi.html#XAPI">xapi: object XAPI</a></li>
61+
data-doc-search-tag="xapi: object XAPI" href="twim/utils/xapi.html#XAPI">xapi: object XAPI</a></li>
4062
</ul></dd>
4163
</dl>
4264
<div class="twelve-columns footer">
4365
<span class="nim-sprite"></span>
4466
<br>
45-
<small style="color: var(--hint);">Made with Nim. Generated: 2024-06-17 04:49:34 UTC</small>
67+
<small style="color: var(--hint);">Made with Nim. Generated: 2024-11-21 16:44:52 UTC</small>
4668
</div>
4769
</div>
4870
</div>

docs/index.html docs/twim.html

+5-5
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<head>
66
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
77
<meta name="viewport" content="width=device-width, initial-scale=1.0">
8-
<title>src/xnim</title>
8+
<title>src/twim</title>
99

1010
<!-- Favicon -->
1111
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
@@ -20,7 +20,7 @@
2020
<body>
2121
<div class="document" id="documentId">
2222
<div class="container">
23-
<h1 class="title">src/xnim</h1>
23+
<h1 class="title">src/twim</h1>
2424
<div class="row">
2525
<div class="three columns">
2626
<div class="theme-select-wrapper">
@@ -65,13 +65,13 @@ <h1 class="title">src/xnim</h1>
6565
<div class="section" id="6">
6666
<h1><a class="toc-backref" href="#6">Imports</a></h1>
6767
<dl class="item">
68-
<a class="reference external" href="xnim/utils/xapi.html">xnim/utils/xapi</a>, <a class="reference external" href="xnim/v2/tweets.html">xnim/v2/tweets</a>
68+
<a class="reference external" href="twim/utils/xapi.html">twim/utils/xapi</a>, <a class="reference external" href="twim/v2/tweets.html">twim/v2/tweets</a>, <a class="reference external" href="twim/v1_1/media.html">twim/v1_1/media</a>
6969
</dl>
7070
</div>
7171
<div class="section" id="19">
7272
<h1><a class="toc-backref" href="#19">Exports</a></h1>
7373
<dl class="item">
74-
<a href="xnim/utils/xapi.html#XAPI"><span class="Identifier">XAPI</span></a>, <a href="xnim/utils/xapi.html#newXAPI,string,string"><span class="Identifier">newXAPI</span></a>, <a href="xnim/v2/tweets.html#TWEET_ENDPOINT"><span class="Identifier">TWEET_ENDPOINT</span></a>, <a href="xnim/v2/tweets.html#PostTextTweet,XAPI,string"><span class="Identifier">PostTextTweet</span></a>
74+
<a href="twim/utils/xapi.html#XAPI"><span class="Identifier">XAPI</span></a>, <a href="twim/utils/xapi.html#newXAPI,string,string,string,string"><span class="Identifier">newXAPI</span></a>, <a href="twim/v2/tweets.html#TWEET_ENDPOINT"><span class="Identifier">TWEET_ENDPOINT</span></a>, <a href="twim/v2/tweets.html#PostTextTweet,XAPI,string"><span class="Identifier">PostTextTweet</span></a>, <a href="twim/v2/tweets.html#PostTextTweet,XAPI,string,seq[string]"><span class="Identifier">PostTextTweet</span></a>, <a href="twim/v1_1/media.html#PostMedia,XAPI,string"><span class="Identifier">PostMedia</span></a>, <a href="twim/v1_1/media.html#MEDIA_ENDPOINT"><span class="Identifier">MEDIA_ENDPOINT</span></a>
7575
</dl>
7676
</div>
7777

@@ -81,7 +81,7 @@ <h1><a class="toc-backref" href="#19">Exports</a></h1>
8181
<div class="twelve-columns footer">
8282
<span class="nim-sprite"></span>
8383
<br>
84-
<small style="color: var(--hint);">Made with Nim. Generated: 2024-06-17 04:49:34 UTC</small>
84+
<small style="color: var(--hint);">Made with Nim. Generated: 2024-11-21 16:44:52 UTC</small>
8585
</div>
8686
</div>
8787
</div>

docs/twim.idx

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
nimTitle twim twim.html module src/twim 0

docs/twim/utils/oauth1.html

+132
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3+
<!-- This file is generated by Nim. -->
4+
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5+
<head>
6+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
7+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
8+
<title>src/twim/utils/oauth1</title>
9+
10+
<!-- Favicon -->
11+
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
12+
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
13+
14+
<!-- CSS -->
15+
<link rel="stylesheet" type="text/css" href="../../nimdoc.out.css">
16+
17+
<!-- JS -->
18+
<script type="text/javascript" src="../../dochack.js"></script>
19+
</head>
20+
<body>
21+
<div class="document" id="documentId">
22+
<div class="container">
23+
<h1 class="title">src/twim/utils/oauth1</h1>
24+
<div class="row">
25+
<div class="three columns">
26+
<div class="theme-select-wrapper">
27+
<label for="theme-select">Theme:&nbsp;</label>
28+
<select id="theme-select" onchange="setTheme(this.value)">
29+
<option value="auto">🌗 Match OS</option>
30+
<option value="dark">🌑 Dark</option>
31+
<option value="light">🌕 Light</option>
32+
</select>
33+
</div>
34+
<div id="global-links">
35+
<ul class="simple">
36+
<li><a id="indexLink" href="../../theindex.html">Index</a></li>
37+
</ul>
38+
</div>
39+
<div id="searchInputDiv">
40+
Search: <input type="search" id="searchInput" onkeyup="search()"/>
41+
</div>
42+
<div>
43+
Group by:
44+
<select onchange="groupBy(this.value)">
45+
<option value="section">Section</option>
46+
<option value="type">Type</option>
47+
</select>
48+
</div>
49+
<ul class="simple simple-toc" id="toc-list">
50+
<li>
51+
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
52+
</li>
53+
<li>
54+
<details open>
55+
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
56+
<ul class="simple simple-toc-section">
57+
<ul class="simple nested-toc-section">OauthNonce
58+
<li><a class="reference" href="#OauthNonce" title="OauthNonce(): string">OauthNonce(): string</a></li>
59+
60+
</ul>
61+
<ul class="simple nested-toc-section">OauthSignature
62+
<li><a class="reference" href="#OauthSignature%2CXAPI%2Cstring%2Cstring%2Cstring%2Cstring%2Cint" title="OauthSignature(xAPI: XAPI; httpMethod: string; endpoint: string; text: string;
63+
oAuthNonce: string; timeStamp: int): string">OauthSignature(xAPI: XAPI; httpMethod: string; endpoint: string; text: string;
64+
oAuthNonce: string; timeStamp: int): string</a></li>
65+
66+
</ul>
67+
68+
</ul>
69+
</details>
70+
</li>
71+
72+
</ul>
73+
74+
</div>
75+
<div class="nine columns" id="content">
76+
77+
<div id="tocRoot"></div>
78+
79+
<p class="module-desc"></p>
80+
<div class="section" id="6">
81+
<h1><a class="toc-backref" href="#6">Imports</a></h1>
82+
<dl class="item">
83+
<a class="reference external" href="xapi.html">xapi</a>
84+
</dl>
85+
</div>
86+
<div class="section" id="12">
87+
<h1><a class="toc-backref" href="#12">Procs</a></h1>
88+
<dl class="item">
89+
<div id="OauthNonce-procs-all">
90+
<div id="OauthNonce">
91+
<dt><pre><span class="Keyword">proc</span> <a href="#OauthNonce"><span class="Identifier">OauthNonce</span></a><span class="Other">(</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
92+
<dd>
93+
94+
95+
96+
</dd>
97+
</div>
98+
99+
</div>
100+
<div id="OauthSignature-procs-all">
101+
<div id="OauthSignature,XAPI,string,string,string,string,int">
102+
<dt><pre><span class="Keyword">proc</span> <a href="#OauthSignature%2CXAPI%2Cstring%2Cstring%2Cstring%2Cstring%2Cint"><span class="Identifier">OauthSignature</span></a><span class="Other">(</span><span class="Identifier">xAPI</span><span class="Other">:</span> <a href="xapi.html#XAPI"><span class="Identifier">XAPI</span></a><span class="Other">;</span> <span class="Identifier">httpMethod</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">endpoint</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span>
103+
<span class="Identifier">text</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">oAuthNonce</span><span class="Other">:</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">timeStamp</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
104+
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
105+
<dd>
106+
107+
108+
109+
</dd>
110+
</div>
111+
112+
</div>
113+
114+
</dl>
115+
</div>
116+
117+
</div>
118+
</div>
119+
120+
<div class="twelve-columns footer">
121+
<span class="nim-sprite"></span>
122+
<br>
123+
<small style="color: var(--hint);">Made with Nim. Generated: 2024-11-21 16:44:52 UTC</small>
124+
</div>
125+
</div>
126+
</div>
127+
128+
<!-- Google fonts -->
129+
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
130+
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
131+
</body>
132+
</html>

0 commit comments

Comments
 (0)