@@ -20,13 +20,7 @@ function tickers(opts::PolyOpts,
2020 # Extract kwargs and add to params
2121 merge! (params, Dict (kwargs))
2222
23- request_json = HTTP. get (tickers_base_url, query= params). body |> JSON3. read
24-
25- if opts. sink === nothing
26- return request_json. results
27- else
28- return request_json. results |> opts. sink
29- end
23+ return generate_output_from_url (tickers_base_url, params, opts. sink; results= true , json_to_array= false )
3024
3125end
3226
3529"""
3630function ticker_types (opts:: PolyOpts )
3731 params = Dict (" apiKey" => opts. api_key)
38- request_json = HTTP. get (ticker_types_base_url, query= params). body |> JSON3. read
39-
40- return request_json. results
32+ return generate_output_from_url (ticker_types_base_url, params, nothing ; results= true , json_to_array= false )
4133end
4234
4335# ########### Tickers Details ####################
4436"""
4537"""
4638function ticker_details (opts:: PolyOpts , stocksTicker:: String )
4739 params = Dict (" apiKey" => opts. api_key)
48- ticker_details_base_url = " https://api.polygon.io/v1/meta/symbols /$stocksTicker /company"
40+ ticker_details_url = " $ticker_details_base_url /$stocksTicker /company"
4941
50- request_json = HTTP. get (ticker_details_base_url, query= params). body |> JSON3. read
51-
52- if opts. sink === nothing
53- return request_json
54- else
55- return [request_json] |> opts. sink
56- end
42+ return generate_output_from_url (ticker_details_url, params, opts. sink; results= false , json_to_array= true )
5743end
5844
5945# ########### Ticker Details vX ####################
6046"""
6147"""
6248function ticker_details_vX (opts:: PolyOpts , ticker:: String , date:: String )
6349 # TODO : Dispatch on proper Date type?
64- ticker_details_vX_base_url = " https://api.polygon.io/vX/reference/tickers /$ticker "
50+ ticker_details_vX_url = " $ticker_details_vX_base_url /$ticker "
6551
6652 params = Dict (
6753 " apiKey" => opts. api_key,
6854 " date" => date
6955 )
7056
71- request_json = HTTP. get (ticker_details_vX_base_url, query= params). body |> JSON3. read
72-
73- if opts. sink === nothing
74- return request_json. results
75- else
76- return [request_json. results] |> opts. sink
77- end
57+ return generate_output_from_url (ticker_details_vX_url, params, opts. sink; results= true , json_to_array= true )
7858end
7959
8060# ########### Ticker News #######################
@@ -99,9 +79,7 @@ function ticker_news(opts::PolyOpts,
9979 # Extract kwargs and add to params
10080 merge! (params, Dict (kwargs))
10181
102- request_json = HTTP. get (ticker_new_base_url, query= params). body |> JSON3. read
103-
104- return request_json. results
82+ return generate_output_from_url (ticker_news_base_url, params, nothing ; results= true , json_to_array= false )
10583
10684end
10785
11088"""
11189function markets (opts:: PolyOpts )
11290 params = Dict (" apiKey" => opts. api_key)
113- request_json = HTTP. get (markets_base_url, query= params). body |> JSON3. read
114-
115- if opts. sink === nothing
116- return request_json. results
117- else
118- return request_json. results |> opts. sink
119- end
91+ return generate_output_from_url (markets_base_url, params, opts. sink; results= true , json_to_array= false )
12092end
12193
12294
12597"""
12698function locales (opts:: PolyOpts )
12799 params = Dict (" apiKey" => opts. api_key)
128- request_json = HTTP. get (locales_base_url, query= params). body |> JSON3. read
129-
130- if opts. sink === nothing
131- return request_json. results
132- else
133- return request_json. results |> opts. sink
134- end
100+ return generate_output_from_url (locales_base_url, params, opts. sink; results= true , json_to_array= false )
135101end
136102
137103# ########### Stock Splits ####################
138104"""
139105"""
140106function stock_splits (opts:: PolyOpts , stocksTicker:: String )
141- stock_splits_base_url = " https://api.polygon.io/v2/reference/splits /$stocksTicker "
107+ stock_splits_url = " $stock_splits_base_url /$stocksTicker "
142108 params = Dict (" apiKey" => opts. api_key)
143- request_json = HTTP. get (stock_splits_base_url, query= params). body |> JSON3. read
144109
145- return request_json . results
110+ return generate_output_from_url (stock_splits_url, params, nothing ; results= true , json_to_array = false )
146111end
147112
148113# ########### Stock Dividends ####################
149114"""
150115"""
151116function stock_dividends (opts:: PolyOpts , stocksTicker:: String )
152- stock_dividends_base_url = " https://api.polygon.io/v2/reference/dividends /$stocksTicker "
117+ stock_dividends_url = " $stock_dividends_base_url /$stocksTicker "
153118 params = Dict (" apiKey" => opts. api_key)
154119
155- request_json = HTTP. get (stock_dividends_base_url, query= params). body |> JSON3. read
156-
157- if opts. sink === nothing
158- return request_json. results
159- else
160- return request_json. results |> opts. sink
161- end
120+ return generate_output_from_url (stock_dividends_url, params, opts. sink; results= true , json_to_array= false )
162121end
163122
164123# ########### Stock Financials ####################
165124"""
166125"""
167126function stock_financials (opts:: PolyOpts , stocksTicker:: String ; limit= 5 , kwargs... )
168- stock_financials_base_url = " https://api.polygon.io/v2/reference/financials /$stocksTicker "
127+ stock_financials_url = " $stock_financials_base_url /$stocksTicker "
169128 params = Dict (
170129 " apiKey" => opts. api_key,
171130 " limit" => limit
172131 )
173132 # Extract kwargs and add to params
174133 merge! (params, Dict (kwargs))
175134
176- request_json = HTTP. get (stock_financials_base_url, query= params). body |> JSON3. read
177-
178- if opts. sink === nothing
179- return request_json. results
180- else
181- return request_json. results |> opts. sink
182- end
135+ return generate_output_from_url (stock_financials_url, params, opts. sink; results= true , json_to_array= false )
183136end
184137
185138# ########### Market Holidays ####################
186139"""
187140"""
188141function market_holidays (opts:: PolyOpts )
189142 params = Dict (" apiKey" => opts. api_key)
190- request_json = HTTP. get (market_holidays_base_url, query= params). body |> JSON3. read
191-
192- if opts. sink === nothing
193- return request_json
194- else
195- return request_json |> opts. sink
196- end
143+ return generate_output_from_url (market_holidays_base_url, params, opts. sink; results= false , json_to_array= false )
197144end
198145
199146# ########### Market Status ####################
200147"""
201148"""
202149function market_status (opts:: PolyOpts )
203150 params = Dict (" apiKey" => opts. api_key)
204- request_json = HTTP. get (market_status_base_url, query= params). body |> JSON3. read
205-
206- return request_json
151+ return generate_output_from_url (market_status_base_url, params, nothing ; results= false , json_to_array= false )
207152end
208153
209154# ########### Stock Exchanges ####################
210155"""
211156"""
212157function stock_exchanges (opts:: PolyOpts )
213158 params = Dict (" apiKey" => opts. api_key)
214- request_json = HTTP. get (stock_exchanges_base_url, query= params). body |> JSON3. read
215-
216- return request_json
159+ return generate_output_from_url (stock_exchanges_base_url, params, nothing ; results= false , json_to_array= false )
217160end
218161
219162# ########### Condition Mappings ####################
@@ -223,21 +166,13 @@ function condition_mappings(opts::PolyOpts, tickertype="trades")
223166 condition_mappings_base_url = " https://api.polygon.io/v1/meta/conditions/$tickertype "
224167 params = Dict (" apiKey" => opts. api_key)
225168
226- request_json = HTTP. get (condition_mappings_base_url, query= params). body |> JSON3. read
227-
228- return request_json
169+ return generate_output_from_url (condition_mappings_base_url, params, nothing ; results= false , json_to_array= false )
229170end
230171
231172# ########### Crypto Exchanges ####################
232173"""
233174"""
234175function crypto_exchanges (opts:: PolyOpts )
235176 params = Dict (" apiKey" => opts. api_key)
236- request_json = HTTP. get (crypto_exchanges_base_url, query= params). body |> JSON3. read
237-
238- if opts. sink === nothing
239- return request_json
240- else
241- return request_json |> opts. sink
242- end
177+ return generate_output_from_url (crypto_exchanges_base_url, params, opts. sink; results= false , json_to_array= false )
243178end
0 commit comments