Releases: lithdew/flatend
v0.0.8
Changelog
2f70a2d provider, node, net, io, sdk/node, examples/go/broadcast, examples/go/clock: wrap around io.PipeReader and io.PipeWriter to emit io.EOF instead of io.ErrClosedPipe, remove BindFunc in favor of strings representative of tcp addresses to listen to peers from, update readme with change in go sdk, add ProvidersFor(services ...string) to grab all available providers for a set of services in Go and NodeJS, add chatroom broadcast example for chatting across nodes using ProvidersFor()
659d906 v0.0.8
v0.0.7
v0.0.6
Changelog
f4c6578 sdk/node, net, node, readme: create tests using mocha and chai, recode away all streams to use async generator instead to adhere to backpressure support, add support for sending messages to other nodes and listening for other nodes in nodejs, expose peer id in Context for both nodejs and go, update readme with new doc info
d80f199 sdk/node: remove compiled output from tests
0e244a2 v0.0.6
v0.0.5
v0.0.4
v0.0.2
Changelog
c04607d cmd/flatend, examples, node, packet, provider: add kademlia routing table and peer discovery support
a795271 cmd/flatend, flathttp: move http.Handler for forward http requests to services/nodes and middleware into separate flathttp pkg
573deeb cmd/flatend: allow for config file to not be available, and add warning
1e553ce cmd/microservice: remove
c416938 examples/go/clock, net, node: fix bidirectional rpc being clogged by unread body, randomly shuffle providers around for now, and add clock example
1e698db examples/go/clock: format logs
7bcd451 examples/go/clock: update readme
57a5345 examples/node: updated all node examples
26bd72a examples: add counter example for go and nodejs
bbfd792 examples: add file example in go and nodejs
7a9c22a examples: add hello_world in go and nodejs
e9b201c examples: add pipe example in go and nodejs
74bce78 examples: add todo example for go
a6261b6 examples: add todo example for nodejs
f10b026 node: only print that you are connected to a provider when its your first time, and print that the provider was re-probed otherwise
4210be1 sdk/node: add cleanup listeners to socket, re-add reconnection loop for dialed nodes
5795199 sdk/node: add description and version and rename 'prepublish' to 'prepare'
6a41573 sdk/node: cleanup Node.start(), refactor packet.ts and flatend.ts into separate files, fix some type checks
6df8fed sdk/node: convert ipv6 to ipv4 if it may be mapped to ipv4, implement peer discovery, fix multiple unnecessary dials, have registerProvider() return if the provider existed or not before it was registered
f79206a sdk/node: fix FindNodeRequest taking a target that is a public key instead of an id, have clients map keep track of sockets and create a Provider class that replaces the Client class, add onPeerJoin method that handles an incoming handshake request, have nodes send back a handshake reply, handle FindNodeRequest
64122c5 sdk/node: fix provider not being registered when spammed with requests on startup
c6118b7 sdk/node: implement FindNodeRequest, FindNodeResponse, and kademlia routing table
f0d5abd sdk/node: instantiate routing table for nodes, package away dns resolve into util methods, have routing table only require specifying a public key it should position entries relative to
aca83ce sdk/nodejs, readme: export ID as a packet, and format out options on readme
79bf013 v0.0.2
v0.0.1
Changelog
56216c8 all: initial commit
37acc09 all: mesh networks of microservices
a79b2af all: wip
57166ff cmd/flatend, codec, config, handler, http: temporarily disable csv codec, remove default handlers, add sqlite example
a7c3633 cmd/flatend, config: support serving static files
8112765 cmd/flatend, handler, http, http/utils: allow Handler.Serve() to return errors, stop execution of Handler upon discovery of an error, set default codec to nil, return original error for http util helper method httpError()
5668eae cmd/flatend, handler, http, http/utils: impl http server, refactor passing in contexts and configuration, add check for content-length == 0 for getBodyParams
259f156 cmd/flatend, httputil/octet, config, http, http/test: implement http routing, expose IsSpace and IsToken from httputil, implement and create tests for Route and ParseRoute, refactor how http routes are registered to flatend
65ce479 cmd/flatend, nodejs: make configuration for a flatend node simpler, and port nodejs sdk to typescript
c296bc1 cmd/flatend: add port to https
d81b7a6 cmd/flatend: add support for http -> https redirect
204bf30 cmd/flatend: add support for specifying domains vs bind addrs
9a7f0b7 cmd/flatend: cleanup dir structure, remove unused dep jsoniter
957e153 cmd/flatend: initial exploration on tui
d6f5f67 cmd/flatend: initial support for https
601a42b cmd/flatend: migrating ui from blanc
428b0fb cmd/flatend: read http.ErrServerClosed as io.EOF
57180a1 codec, config, http: separate config into separate module, add toml codec support, initial wip on routing
ec4e7c5 codec, handler, pool: temporarily remove xml encode/decode, add aliases for yaml, fix csv encoding/decoding,
96a86d7 codec: fix passing map to reflect codec Unmarshal()
eab0dd6 config: cleanup funcs s.t. config may not only be declared via starlark
d18b470 constrain: impl non-lazy eval of expression and re-impl ('&', '|', '>', '>=', '<', '<=', unary '-')
1edaf7b error, handler, http, pool: implement sql query handler, allow for unwrapping of flatend.Error, add pooling for value buffers
f27dfd9 flatend: remove // @ts-ignore
3c3d816 flathttp/error, flathttp/server: cleanup error handling, and separate errors and error utils into a separate file
5e30c01 flathttp/middleware: add content length check with test
bc32326 flathttp/test: have getAvailableAddrs guarantee to not emit duplicate available bind addrs
6155649 flathttp: add basic rate limiting support, and fix content length check for requests with empty bodies
fb7afd5 flathttp: add max duration to wait until we timeout a request
14143d8 flathttp: impl http server that can have a config reloaded s.t. it may listen to one or several net.Listeners or be shut down at any time
5f3270d flathttp: only add Retry-After header and wait_until
in error response if delay is sensible
b00748d flathttp: reposition methods in server.go
e7f95c7 flathttp: set ctx after timeout set
2cc98eb go: remove unnecessary deps
d5c2597 handler, http: have ContentEncode not write anything if there is no output to encode
b8c55a3 handler, readme: allow ContextHandler to load from another context as well, and add request lifecycle to readme
301bc54 handler: do not include pagination params in output if params not provided
8cdb103 handler: impl pagination spport for sql query handler
148ddd1 handler: parse pagination parameters limit/offset as either strings or integers, and set boundaries on [min, max] for limit
03347d4 handler: remove NegotiateCodec and use httputil.NegotiateContentType instead
a3699e9 http, handler, error: created generalized flatend.Error, remove httpError in place for writeError in flatend.Server,initial work on sql handler
a5d210a http, http/utils, handler, pool, cmd/flatend: implement codec registration/negotiation, decoding header/query/body params, and barebones cuelang repl
76e3d4e httputil, codec, handler, http: expose parser methods for Accept headers, register codecs by MIME types, encode response with negotiated header
f22c55e listen, cmd/flatend: fix shutdown for Listener, preserve body if it is valid utf8 else base64 encode it
888a6be listen, mod, nodejs: wip on more versatile listener api, move from /ts/ folder to /nodejs/ folder
3324c70 listen, nodejs: add support for handshake packets and request packets to Listener, use 'end' event instead of 'close' event for monte sockets in nodejs
4caf26c net, node, sdk/js: add backpressure support to MonteSocket, implement ResponsePacket to allow for more flexibility of responses from microservices
210581c net: add WriteHeader to flatend microservice api
6f97dcd node, cmd/flatend, sdk/nodejs: use log pkg, parse addr from config.toml, update example
a36cc01 node, net, cmd/flatend, cmd/microservice: significantly simplify node code and allow for ids to be nil
b9f1d0d nodejs: commit yarn.lock
a6cb949 nodejs: simplify where successful connection message is logged, update gitignore
ab61c75 orbis: add additional check in case lexer gone too far ahead eof
8c57274 orbis: add op rules for '+' and '-', impl constraint rules and set union/intersection of constraint rules using '&' and '|' op
5301241 orbis: cleanup lexNumber and lexEscapeChar
f57bd67 orbis: disallow inputs from being booleans
8b4980e orbis: fix condition for op right associativity, add token string formatting, set precedences for operators, impl unary negation
47a7361 orbis: fix escape binary num check
77570a9 orbis: fix off-by-one on lexing decimals, and initial work on shunting yard evaluator for constraint types
f099997 orbis: fix precedence eval, remove rule struct, add constraint rule types, impl intersection and union of rules, remove some debug printing
7a5e5f4 orbis: impl '!' op, fix '>=', '>', '<=', '<' operand checks
90eb2dc orbis: impl '+' and '-' op
ba1b352 orbis: impl evaluation for '<' and '<='
54e9cbb orbis: impl right associative ops, allow specifying associativity of op, and impl evaluating negation via unary '-' op
d29636e orbis: initial work on constraint lexer
9da2c63 orbis: remove and export into separate repo 'boat'
3872f77 orbis: return eof token upon reaching end of input, and have lex return one token at a time
4027216 orbis: simplify rune checks into helper util methods
8fbccf1 provider, packet, node, net, sdk/nodejs, cmd/flatend, cmd/microservice: allow for large amounts of data to be sent and received between microservices by implementing streams and chunked transfer encoding
80b8d9d sdk/go: fix parsing services in handshake packet
671217b sdk/js, cmd/flatend, node: add commandline flags to flatend, move flatend lib to separate file in js sdk
25b423e sdk/js, net, node, peer, provider: initial work for allowing for anonymously-identified microservices
7c15a73 sdk/js: add reconnection logic, and cache peer info upon successful connect
cafa9f3 sdk/js: cleanup code and split into separate js modules
22a6521 sdk/js: cleanup example a bit
c7ea1cc sdk/js: do not allow for backtracking upon backpressure in monte socket
cfc275a sdk/js: handle nil responses
e8ed933 sdk/js: implement flatend protocol in javascript
65197bd sdk/js: quick format
ae8b1ce sdk/js: reimplemented reconnection logic
fcbd554 sdk/js: resolve multiple listeners on the same sequence number
553aa0b sdk/js: revert back to using listenerCount() and emit for handling requests
c49f913 sdk/js: temporarily disable backpressuring for the stream as it causes data to be lost
e7e9556 sdk/js: update yarn
bd47556 sdk/nodejs, readme: prepare to publish for npm, cleanup readme
fb5b21c sdk/nodejs: add body() function with default limit of 64kb for reading body, and catch errors and return them as json
4f34ace sdk/nodejs: add send() and json() express-esque methods
8dd92bb sdk/nodejs: cleanup example
7e98524 sdk/nodejs: fully cleanup client when socket ends
4e68f6b sdk/nodejs: remove unused package-lock.json
7181f48 server, config, middleware: impl httprouter, encapsulate init/cleanup methods for server, encapsulate cancellable sleep into util helper method, expose config Reset() method
6a2b7f5 service, net, cmd/microservice: add microservice example, simplify microservice init code, move http request structure to cmd/flatend
6396f5a service: add Register method to builder