Aaron Lindsay
35c7116654
Add the ability to marshal a Response to SGML/XML and test it
...
This allows for ofxgo to be used to create well-formatted OFX from poor
OFX, or even be used to generate OFX from other formats for easier
importing into financial management software.
Test this functionality by adding "round trip" testing to all existing
tests - ensure that responses' content is the same after a round trip of
marshalling and unmarshalling them.
2019-03-02 07:03:11 -05:00
Aaron Lindsay
286e619071
Pull out writing the OFX header to its own function
...
This is in preparation for also allowing responses to be written via the
library (as opposed to only read).
2019-03-01 05:51:36 -05:00
Aaron Lindsay
9dd9c3bd3f
Include 'cmd' module dependencies
2019-03-01 05:50:46 -05:00
Martin Kobetic
0f6ceccd86
Work around missing blank line after last header
...
Detect when a newline doesn't follow the last header when parsing SGML and break out of the header-parsing loop early. Add an example .qfx file demonstrating the broken behavior we're working around and a test.
2019-01-04 11:18:55 -05:00
Aaron Lindsay
7691881132
Merge pull request #13 from aclindsa/dep_to_go_mod
...
Switch from `dep` to `go mod`
2018-10-11 21:08:30 -04:00
Aaron Lindsay
61262b87d8
Switch from `dep` to `go mod`
2018-10-11 21:00:03 -04:00
Aaron Lindsay
5e2e3a2bf7
Merge pull request #12 from aclindsa/discover_hack
...
Add Hack for Discover
2018-10-08 06:00:36 -04:00
Aaron Lindsay
22a6d65b98
Add Hack for Discover
...
Discover requires an exact set of headers in exact order, or it returns
HTTP 403.
2018-10-08 05:55:08 -04:00
Aaron Lindsay
77b154695f
detect_settings: Add newer APPVER's for 'QWIN' APPID
2018-10-04 06:50:38 -04:00
Aaron Lindsay
ac09538ec3
Merge pull request #11 from aclindsa/make_client_interface
...
Make Client an interface instead of a struct
2018-10-03 10:23:40 -04:00
Aaron Lindsay
d8491bed1d
Make Client an interface instead of a struct
...
This makes it easier to maintain per-institution hacks that start
interacting with each other if you try to do them all in the same client
code. This commit also breaks out the existing Vanguard hack into its
own Client implementation.
2018-10-03 10:18:54 -04:00
Aaron Lindsay
1b4f27b31f
Merge pull request #10 from aclindsa/update_dependencies
...
Update dependencies
2018-10-02 21:07:02 -04:00
Aaron Lindsay
eb35a26986
Update dependencies
2018-10-02 21:01:03 -04:00
Aaron Lindsay
5c10ac5ea1
Merge pull request #9 from aclindsa/client_interface
...
Add BasicClient, update Client to be interface
2018-10-02 21:00:44 -04:00
Aaron Lindsay
94a77ac754
Add BasicClient, update Client to be interface
...
This paves the way for more easily implementing different clients for
different financial institutions
2018-10-02 20:55:25 -04:00
Aaron Lindsay
de58d3fc0d
Merge pull request #8 from aclindsa/remove_unused_default_client
...
client.go: remove unused defaultClient var
2018-10-02 20:41:42 -04:00
Aaron Lindsay
88e5521348
client.go: remove unused defaultClient var
2018-10-02 20:33:33 -04:00
Aaron Lindsay
54666608a4
Merge pull request #7 from aclindsa/dont_export_rawrequestcookies
...
Don't export Client's rawRequestCookies method
2018-10-02 20:27:34 -04:00
Aaron Lindsay
1cc508c6d3
Don't export Client's rawRequestCookies method
...
It is used to fix bad behavior and should not be exposed
2018-10-02 20:20:07 -04:00
Aaron Lindsay
c6a806399a
Merge pull request #5 from nicksnyder/patch-1
...
Make README example compile
2018-04-15 07:21:52 -04:00
Nick Snyder
2a92b29a62
currency := stmt.CurDef
2018-04-14 22:28:30 -07:00
Nick Snyder
2fbb276a22
Make example compile
2018-04-14 09:06:32 -04:00
Aaron Lindsay
06de7e2af6
Add example usage to README
2017-11-18 20:00:37 -05:00
Aaron Lindsay
977dacfbbd
.travis.yml: Add `dep ensure`
2017-11-18 20:00:37 -05:00
Aaron Lindsay
ddc674b287
go fmt
2017-11-18 05:58:32 -05:00
Aaron Lindsay
29fc9c20fe
Add `dep` vendoring
2017-11-18 05:56:33 -05:00
Aaron Lindsay
d81d75876f
.travis.yml: Don't fail builds on coveralls failures
2017-11-18 05:25:02 -05:00
Aaron Lindsay
1264e6e486
README: Add go 1.9 requirement
2017-10-27 09:03:57 -04:00
Aaron Lindsay
f408232d77
Mark testing helper functions with t.Helper()
...
This makes error messages from tests report the line number of the error
in the test function itself instead of the error in the helper.
2017-10-06 05:53:19 -04:00
Aaron Lindsay
fa05f64497
Merge pull request #2 from aclindsa/smaller_xml_parser
...
Switch to copy of encoding/xml with only that subdirectory
2017-10-02 09:33:24 -04:00
Aaron Lindsay
02f59a7b4f
.travis.yml: Drop go 1.8
...
The latest encoding/xml now uses sync.Map
2017-10-02 09:28:09 -04:00
Aaron Lindsay
1e55cb8bd7
Switch to copy of encoding/xml with only that subdirectory
2017-10-02 09:21:56 -04:00
Aaron Lindsay
6359499ea2
.travis.yml: Add Go 1.9.x
2017-09-20 20:30:59 -04:00
Aaron Lindsay
fa72af4f6c
client: Retry HTTP requests for empty responses with cookies
...
This works around a particular FI's penchant for JSESSIONID cookies
2017-09-01 08:41:15 -04:00
Aaron Lindsay
04436f048d
Add MoneyGo reference to README
2017-06-05 21:12:04 -04:00
Aaron Lindsay
fcee1ec452
Update/improve documentation
2017-05-09 16:30:35 -04:00
Aaron Lindsay
4cb0eb4f85
Clarify use of Currency vs. OrigCurrency
2017-04-19 21:31:45 -04:00
Aaron Lindsay
bc541d881d
Add transaction UID validation to all messages
2017-04-18 20:22:07 -04:00
Aaron Lindsay
8712be5a9d
Bank Transactions: Use Currency structs, not CurrSymbol directly
2017-04-18 20:17:44 -04:00
Aaron Lindsay
a3e42fc903
`go vet` and `golint`
2017-04-18 19:50:04 -04:00
Aaron Lindsay
1ee7197340
Add validation of banking requests and responses
2017-04-18 19:46:23 -04:00
Aaron Lindsay
7f2ca5db0f
Check Valid() when parsing responses
2017-04-17 20:37:40 -04:00
Aaron Lindsay
2046fa32e5
Use CurrSymbol instead of String to represent currencies
2017-04-17 20:20:22 -04:00
Aaron Lindsay
faac776ca4
Add Currency type
2017-04-17 20:11:53 -04:00
Aaron Lindsay
9bd9c01962
Add OFX version to Valid() calls
...
This allows for future differentiation based on different requirements
of different versions of the OFX specification.
2017-04-17 11:11:46 -04:00
Aaron Lindsay
0eba6741f2
Make the OFX spec version an 'enum'
2017-04-17 10:54:20 -04:00
Aaron Lindsay
94f49640b4
cmd/ofx: `golint`
2017-04-16 20:50:06 -04:00
Aaron Lindsay
33c7ad463c
spelling fix
2017-04-16 20:46:32 -04:00
Aaron Lindsay
f64d19ed8d
client: `golint`
2017-04-16 20:38:56 -04:00
Aaron Lindsay
1ff64a9d55
Comment investments, profiles, seclist, signon, signup, and types
2017-04-13 10:18:07 -04:00