+70
.github/workflows/release.yml
+70
.github/workflows/release.yml
···+nix build .#packages.${{ matrix.platform }}.default --option system ${{ matrix.platform }} -o result-${{ matrix.platform }}+nix build .#packages.${{ matrix.platform }}.default ${{ matrix.extra_args }} -o result-${{ matrix.platform }}
+2
-2
.gitignore
+2
-2
.gitignore
+3
-3
CMakeLists.txt
+3
-3
CMakeLists.txt
······
+26
-16
CRUSH.md
+26
-16
CRUSH.md
···
+35
-18
README.md
+35
-18
README.md
···-+···TRANS_NUM|AMOUNT|CURRENCY|FIRSTNAME|LASTNAME|STREET|CITY|STATE|ZIP|CCTYPE|CCLAST4|EXPMONTH|EXPYEAR|CVV|TRANSID|STATUS|CORRID|PROC_AMOUNT···<a href="https://github.com/taciturnaxolotl/soapdump/blob/main/LICENSE.md"><img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&logoColor=d9e0ee&colorA=363a4f&colorB=b7bdf8"/></a>
+28
cassette.tape
+28
cassette.tape
···
docs/vhs.gif
docs/vhs.gif
This is a binary file and will not be displayed.
+1
-35
flake.lock
+1
-35
flake.lock
···
+95
-51
flake.nix
+95
-51
flake.nix
···
+497
src/soapdump.cpp
+497
src/soapdump.cpp
···+std::vector<Transaction> parseTransactions(const std::vector<std::string>& requestXmls, const std::vector<Response>& responses);+std::string logContent((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());+opts="--help --summary --raw --generate-bash-completion --generate-zsh-completion --generate-fish-completion --man"+parses PayPal SOAP log files to extract transaction data. It reads log entries containing XML request/response pairs and outputs structured transaction information in pipe-delimited format suitable for further processing with standard Unix tools.+The program matches SOAP requests with their corresponding responses to provide complete transaction records including customer information, payment details, and processing results.+TRANS_NUM|AMOUNT|CURRENCY|FIRSTNAME|LASTNAME|STREET|CITY|STATE|ZIP|CCTYPE|CCLAST4|EXPMONTH|EXPYEAR|CVV|TRANSID|STATUS|CORRID|PROC_AMOUNT+std::vector<Transaction> parseTransactions(const std::vector<std::string>& requestXmls, const std::vector<Response>& responses) {+std::vector<std::pair<std::string, int>> stateCountVec(stateCounts.begin(), stateCounts.end());
-352
src/transaction-parser.cpp
-352
src/transaction-parser.cpp
···-std::vector<Transaction> parseTransactions(const std::vector<std::string>& requestXmls, const std::vector<Response>& responses);-std::string logContent((std::istreambuf_iterator<char>(file)), std::istreambuf_iterator<char>());-std::cout << " TRANS_NUM|AMOUNT|CURRENCY|FIRSTNAME|LASTNAME|STREET|CITY|STATE|ZIP|CCTYPE|CCLAST4|EXPMONTH|EXPYEAR|CVV|TRANSID|STATUS|CORRID|PROC_AMOUNT\n\n";-std::cout << " " << programName << " payments.log | cut -d'|' -f8 | sort | uniq -c | sort -nr\n\n";-std::vector<Transaction> parseTransactions(const std::vector<std::string>& requestXmls, const std::vector<Response>& responses) {-std::vector<std::pair<std::string, int>> stateCountVec(stateCounts.begin(), stateCounts.end());