Skip to content

cleanup Gopkg.toml based on suggestions from "dep ensure"#4

Merged
zeldovich merged 1 commit intoalgorand:masterfrom
zeldovich:godep-cleanup
Jun 13, 2019
Merged

cleanup Gopkg.toml based on suggestions from "dep ensure"#4
zeldovich merged 1 commit intoalgorand:masterfrom
zeldovich:godep-cleanup

Conversation

@zeldovich
Copy link
Copy Markdown
Contributor

No description provided.

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Jun 12, 2019

CLA assistant check
All committers have signed the CLA.

@zeldovich zeldovich merged commit 37f42dd into algorand:master Jun 13, 2019
@zeldovich zeldovich deleted the godep-cleanup branch June 13, 2019 17:26
pzbitskiy pushed a commit to pzbitskiy/go-algorand that referenced this pull request Mar 6, 2020
bricerisingalgorand referenced this pull request in bricerisingalgorand/go-algorand Jun 9, 2020
michaeldiamant referenced this pull request in michaeldiamant/go-algorand Dec 1, 2022
Revert "Prototype approval test for GetRoundStateDelta"
garyrob pushed a commit to garyrob/go-hedgecoin that referenced this pull request Feb 22, 2026
## Changes to spec.md

### Issue algorand#1: HTTP Status Code Handling
Added proper status code checking in `doRequest()`:
- Read full body with `io.ReadAll` before checking status
- Handle non-2xx responses by trying to parse JSON error, otherwise return generic HTTP error

### Issue algorand#2 & algorand#3: Request Body Type Field
- Explicitly stated that the `type` field is **removed** from request bodies
- Added new section showing simplified request structs without `Type` field
- Updated request/response documentation to note this change

### Issue algorand#4: Response Body Draining
- Changed from `json.Decoder.Decode()` to `io.ReadAll()` + `json.Unmarshal()`
- This ensures full body consumption for connection reuse even on error paths

### Issue algorand#5: Error Response Handling
- Added structured error handling that distinguishes:
  - Non-2xx HTTP status: Try to parse JSON error from body, wrap as `DaemonError` or generic error
  - Connection errors: Return as-is

### Issue algorand#6: Python Daemon Error Format
- Added `_send_json_response()` and `_send_json_error()` helper methods
- All errors return JSON responses, not HTML
- Error codes map to appropriate HTTP status codes

### Issue algorand#7: SetTimeouts() Implementation
- Changed to use per-request context with timeout (`http.NewRequestWithContext`)
- Dial timeout configured in Transport, query timeout used in context

### Issue algorand#8: Implementation Steps Order
- Combined "Update Go Client" and "Update Go Test Server" into a single step
- Updated plan.md to reflect this consolidation (now 3 implementation steps instead of 4)

### Additional Improvements
- Added graceful shutdown documentation for Python daemon using `HTTPServer.shutdown()`
- Added dial timeout configuration in Transport's DialContext
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants