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
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
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
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
61262b87d8
Switch from dep
to go mod
2018-10-11 21:00:03 -04:00
5e2e3a2bf7
Merge pull request #12 from aclindsa/discover_hack
...
Add Hack for Discover
2018-10-08 06:00:36 -04:00
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
77b154695f
detect_settings: Add newer APPVER's for 'QWIN' APPID
2018-10-04 06:50:38 -04:00
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
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
1b4f27b31f
Merge pull request #10 from aclindsa/update_dependencies
...
Update dependencies
2018-10-02 21:07:02 -04:00
eb35a26986
Update dependencies
2018-10-02 21:01:03 -04:00
5c10ac5ea1
Merge pull request #9 from aclindsa/client_interface
...
Add BasicClient, update Client to be interface
2018-10-02 21:00:44 -04:00
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
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
88e5521348
client.go: remove unused defaultClient var
2018-10-02 20:33:33 -04:00
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
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
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
06de7e2af6
Add example usage to README
2017-11-18 20:00:37 -05:00
977dacfbbd
.travis.yml: Add dep ensure
2017-11-18 20:00:37 -05:00
ddc674b287
go fmt
2017-11-18 05:58:32 -05:00
29fc9c20fe
Add dep
vendoring
2017-11-18 05:56:33 -05:00
d81d75876f
.travis.yml: Don't fail builds on coveralls failures
2017-11-18 05:25:02 -05:00
1264e6e486
README: Add go 1.9 requirement
2017-10-27 09:03:57 -04:00
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
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
02f59a7b4f
.travis.yml: Drop go 1.8
...
The latest encoding/xml now uses sync.Map
2017-10-02 09:28:09 -04:00
1e55cb8bd7
Switch to copy of encoding/xml with only that subdirectory
2017-10-02 09:21:56 -04:00
6359499ea2
.travis.yml: Add Go 1.9.x
2017-09-20 20:30:59 -04:00
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
04436f048d
Add MoneyGo reference to README
2017-06-05 21:12:04 -04:00
fcee1ec452
Update/improve documentation
2017-05-09 16:30:35 -04:00
4cb0eb4f85
Clarify use of Currency vs. OrigCurrency
2017-04-19 21:31:45 -04:00
bc541d881d
Add transaction UID validation to all messages
2017-04-18 20:22:07 -04:00
8712be5a9d
Bank Transactions: Use Currency structs, not CurrSymbol directly
2017-04-18 20:17:44 -04:00
a3e42fc903
go vet
and golint
2017-04-18 19:50:04 -04:00
1ee7197340
Add validation of banking requests and responses
2017-04-18 19:46:23 -04:00
7f2ca5db0f
Check Valid() when parsing responses
2017-04-17 20:37:40 -04:00
2046fa32e5
Use CurrSymbol instead of String to represent currencies
2017-04-17 20:20:22 -04:00
faac776ca4
Add Currency type
2017-04-17 20:11:53 -04:00
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
0eba6741f2
Make the OFX spec version an 'enum'
2017-04-17 10:54:20 -04:00
94f49640b4
cmd/ofx: golint
2017-04-16 20:50:06 -04:00
33c7ad463c
spelling fix
2017-04-16 20:46:32 -04:00
f64d19ed8d
client: golint
2017-04-16 20:38:56 -04:00
1ff64a9d55
Comment investments, profiles, seclist, signon, signup, and types
2017-04-13 10:18:07 -04:00