Date | Commit message (Collapse) |
|
RAA is dead.
|
|
* From: Jérémy Bobbio <lunar@debian.org>
Update Upr::Monitor to use Moneta 0.7 API
We need to deactivate the serialization in Moneta so that the assumption
(currently used in the tests) that the status object will be the same across
the calls to the monitor still hold.
|
|
We need to deactivate the serialization in Moneta so that the assumption
(currently used in the tests) that the status object will be the same across
the calls to the monitor still hold.
|
|
oops...
|
|
|
|
Should be harder to forget to update this now.
|
|
Update all documentation and comments to reflect that.
|
|
This release fixes several bugs and adds better compatibility
with existing upload progress implementations from other web
servers.
'config.gem "upr"' in Rails config/environment should work now
that double loads are non-fatal (but still warn). Additionally,
better error handling has been added and timeouts increased
to reduce the probability of errors due to slow clients.
The Rack backend can now generate JSON responses compatible[1]
with upload progress modules for both lighttpd and nginx.
Additionally, streaming JSON as demonstrated in
mongrel_streaming_upload_progress is supported, too.
This is a list of upload progress modules we are compatible
with:
1. mongrel_upload_progress
http://mongrel.rubyforge.org/wiki/UploadProgress
2. jquery-upload-progress
http://github.com/drogus/jquery-upload-progress
3. mongrel_streaming_upload_progress
http://rubyforge.org/pipermail/mongrel-users/2007-July/003747.html
Eric Wong (32):
README: fix grammar/speling mistakes
README: fix grammar bug (excessive dash)
monitor: fix class name in RDoc
monitor: add "finish" method
input_wrapper: use the new finish methods in backends
example/rainbows_config: disable Nagle's algorithm
examples/rails_app-2.3.4: fix session verifier 1.9
examples/rails_app-2.3.4: move middleware setup to config.ru
examples/rails_app-2.3.4: smaller JavaScript footprint
split upr/status out to its own file
status: add error? method
Clarify license of examples
upr/status: add done? method
Revert "examples/rails_app-2.3.4: move middleware setup to config.ru"
Split out Params and StatusMethods
input_wrapper: don't wrap if we don't have to
set "encoding: binary" to workaround 1.9 insanity
backends: internal API updates/cleanups
gemspec: put a hard dependency on Rack
add JSON generator
input_wrapper: lower default frequency
examples/rails: UprStatus reuses expiry in Upr::Monitor
Upr::Monitor expiry is 60 seconds
Add jQuery-compatible Rails example
JSON compatible with Ry Dahl's Ajax.Pull + example
Update README
example/rails_app-2.3.4: limit compat 1.9 to only 1.9
example/rails_app-2.3.4: UprStatus unit tests
tests: add Monitor tests (also reaches into Status)
JSON: set no-transform in headers
examples/rails_app-2.3.4: show links to different interfaces
update README
|
|
|
|
|
|
We can't have Rack::Deflater compressing long-pulling JS
|
|
|
|
UprStatus.incr now returns the value incremented to
be compatible with Upr::Monitor.incr
|
|
Not 1.8.7, too, since 1.8.7 strings respond to :bytesize
each_byte iterators and j.next seem to make 1.8.7 unhappy
|
|
|
|
Ry posted about it here:
http://rubyforge.org/pipermail/mongrel-users/2007-July/003747.html
This is technically superior compared to all the existing interfaces
since it only requires only one, long-running client-side HTTP request.
I would imagine it's possible for a JavaScript programmer to be capable
of even removing the need for an extra request entirely, I'm not that
programmer...
|
|
This uses the new Upr::JSON class to generate output.
Apparently this is the same format used by Apache, nginx, and
lighttpd. Hopefully this will help increase upr adoption.
|
|
Some folks we know have terrible Internet connections
|
|
Thou Shalt Not Repeat Thyself.
Thou Shalt Not Repeat Thyself.
Thou Shalt Not Repeat Thyself.
Thou Shalt Not Repeat Thyself.
Thou Shalt Not Repeat Thyself.
Thou Shalt Not Repeat Thyself.
wait...
|
|
Backend updates should be pretty cheap, so don't skimp on them
since they can help avoid timeouts when connections choke for
a little while.
|
|
It currently only barely works with Rails, but the plan is to
add full Rack long-polling/streaming support.
|
|
We use Rack for query string parsing.
|
|
Return values for class methods for Upr::Monitor and UprStatus
should synched.
Class methods:
* error!(upid) method added:
sets seen = -1, updates time and returns Status(-like) object
* read(upid) no longer updates time
* incr(upid, nr) does up increment errored statuses
* incr(upid, nr) returns nil on invalid upids
* finish(upid) returns nil on invalid upids
Additionally the AR example has been updated to include
Upr::StatusMethods for instance methods.
|
|
It probably doesn't matter for these modules/classes, but I'd
much rather avoid potential surprises in the future.
|
|
Clients _must_ will either specify the Content-Length header
_or_ "Transfer-Encoding: chunked". This will work around
clients that seem to send POST requests with no body at all in
them.
|
|
StatusMethods will be reusable in subclasses like the
UprStatus ActiveRecord class. Params parsing will be
common to both InputWrapper and also to the upcoming
Streaming class.
|
|
This reverts commit 4770ea6d7a6eaf00cc19bc4fb2afd59071e8cf66.
|
|
Makes it easier to tell if we're done or not
|
|
In short, example code retains their own copyrights
|
|
We'll define setting seen == -1 to be an error since
it's impossible to see -1 bytes.
|
|
This prevent double loads that seem to be caused by "config.gem"
in Rails from messing up due to the Struct re-definition. Of
course we'll still warn when the VERSION constant is redefined
so people will hopefully see a reason to avoid idiotic double
loads...
|
|
We'll be pulling in other JS files, too, so avoid pulling
in too much.
|
|
config.ru is more obvious and easier to use with non-Rails
applications. This is true especially if you want to share
the Upr::Monitor object/connection with the upcoming
Upr::Streaming JSON application.
|
|
Rails 2.3.4 screwed up cookie sessions under Ruby 1.9
ref: https://rails.lighthouseapp.com/projects/8994/tickets/3144
|
|
Less delay gives better interactive response
|
|
This provides the ability to add notifications when
we finish an upload
|
|
This lets us finish up connections by setting seen == length
when the client is finished uploading.
|
|
|
|
|
|
|
|
|
|
Making the demo look better? It's called "marketing" :)
|
|
Explain what the user will be seeing.
|
|
Also show size uploaded and better output with proper
line breaks
|
|
|