Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Ruby > zlib Deflate to java.util.zip inflate problem

Reply
Thread Tools

zlib Deflate to java.util.zip inflate problem

 
 
Dom
Guest
Posts: n/a
 
      04-04-2009
Hello, I'm a total ruby newbie and am developing a simple app that
tests an existing web app. Part of the request I need to post
contains data that needs to be compressed as the web app will
uncompress it. Currently, the java app just uses simple
java.util.zip.Inflater to do this, and I've been able to do this from
cocoa to java no problem. Using Ruby to craft the data and post
request has presented a problem: when the web app gets the request,
I'm getting exceptions from java.utl.zip Unkown Compression format I
can't change the back end, only the ruby client side. Does anybody
know how to properly use the ruby zlib library to deflate data such
that java's built in classes can inflate it? Sorry if this is a basic
question; I've googled this to death and hit nothing but dead ends.
Here's the call that compresses:

compressedBroadcast = Zlib:eflate.new(nil, -
Zlib::MAX_WBITS).deflate(binaryBroadcastData, Zlib::FINISH)

Other than this, I'm very much enjoying the other Ruby bits. Thanks
for any pointers.

Dom

 
Reply With Quote
 
 
 
 
Dom
Guest
Posts: n/a
 
      04-04-2009
Anything, anybody? Little help here...

On Apr 4, 2009, at 12:45 PM, Dom wrote:

> Hello, I'm a total ruby newbie and am developing a simple app that
> tests an existing web app. Part of the request I need to post
> contains data that needs to be compressed as the web app will
> uncompress it. Currently, the java app just uses simple
> java.util.zip.Inflater to do this, and I've been able to do this
> from cocoa to java no problem. Using Ruby to craft the data and post
> request has presented a problem: when the web app gets the request,
> I'm getting exceptions from java.utl.zip Unkown Compression format I
> can't change the back end, only the ruby client side. Does anybody
> know how to properly use the ruby zlib library to deflate data such
> that java's built in classes can inflate it? Sorry if this is a
> basic question; I've googled this to death and hit nothing but dead
> ends. Here's the call that compresses:
>
> compressedBroadcast = Zlib:eflate.new(nil, -
> Zlib::MAX_WBITS).deflate(binaryBroadcastData, Zlib::FINISH)
>
> Other than this, I'm very much enjoying the other Ruby bits. Thanks
> for any pointers.
>
> Dom
>



 
Reply With Quote
 
 
 
 
Dom
Guest
Posts: n/a
 
      04-05-2009
Thanks for the reply,

Sorry, should have been more clear, I'm not creating files. I did
find it, but it seems entirely focused on zip files; I'm just using
the deflate/inflate to squeeze some data before sending it over the
wire. Being that they're both based on zlib, you'd think that deflated
from one would be inflatable by the other and I was hoping that
perhaps I'm just missing a setting or not using a correct parameter to
one of the ruby calls. But, I've pretty much tried every permutation
and cannot get the server to inflate the data. I'd think somebody's
doing this somewhere with success.

On Apr 4, 2009, at 4:39 PM, Jeff Schwab wrote:

> Dom wrote:
>> Hello, I'm a total ruby newbie and am developing a simple app that
>> tests an existing web app. Part of the request I need to post
>> contains data that needs to be compressed as the web app will
>> uncompress it. Currently, the java app just uses simple
>> java.util.zip.Inflater to do this, and I've been able to do this
>> from cocoa to java no problem. Using Ruby to craft the data and
>> post request has presented a problem: when the web app gets the
>> request, I'm getting exceptions from java.utl.zip Unkown
>> Compression format I can't change the back end, only the ruby
>> client side. Does anybody know how to properly use the ruby zlib
>> library to deflate data such that java's built in classes can
>> inflate it? Sorry if this is a basic question; I've googled this
>> to death and hit nothing but dead ends.

>
> Did you find rubyzip? It doesn't seem to work under Ruby 1.9, but
> it does have an interface supposedly modeled on java.util.zip:
>
> http://rubyzip.sourceforge.net/
>
> It's hard to believe this didn't come up when you Googled.
>



 
Reply With Quote
 
Alexey Borzenkov
Guest
Posts: n/a
 
      04-05-2009
Dom wrote:
> Sorry, should have been more clear, I'm not creating files. I did
> find it, but it seems entirely focused on zip files; I'm just using
> the deflate/inflate to squeeze some data before sending it over the
> wire. Being that they're both based on zlib, you'd think that deflated
> from one would be inflatable by the other and I was hoping that
> perhaps I'm just missing a setting or not using a correct parameter to
> one of the ruby calls. But, I've pretty much tried every permutation
> and cannot get the server to inflate the data. I'd think somebody's
> doing this somewhere with success.


Could it be that your java side is expecting the new zlib format?

As could be seen in your first post, you are using -MAX_WBITS, which
enables old (headerless? don't know what it's called) zlib format, that
has no gzip header and no checksum. Maybe you should be using +MAX_WBITS
(the default), which adds necessary header and checksum.
--
Posted via http://www.ruby-forum.com/.

 
Reply With Quote
 
Eric Hodel
Guest
Posts: n/a
 
      04-06-2009
On Apr 5, 2009, at 02:48, Alexey Borzenkov wrote:
> Could it be that your java side is expecting the new zlib format?
>
> As could be seen in your first post, you are using -MAX_WBITS, which
> enables old (headerless? don't know what it's called) zlib format,
> that
> has no gzip header and no checksum. Maybe you should be using
> +MAX_WBITS
> (the default), which adds necessary header and checksum.


Agreed, you probably only want -MAX_WBITS when implementing a gzip
stream.

 
Reply With Quote
 
Eric Hodel
Guest
Posts: n/a
 
      04-06-2009
On Apr 4, 2009, at 09:45, Dom wrote:

> compressedBroadcast = Zlib:eflate.new(nil, -
> Zlib::MAX_WBITS).deflate(binaryBroadcastData, Zlib::FINISH)


I think you're asking for a gzip stream here with your -MAX_WBITS



 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Most simple usage of zlib or pr-zlib Nicholas Wieland Ruby 4 03-10-2011 04:48 AM
zlib.decompress fails, zlib.decompressobj succeeds - bug or feature? Matthew Brett Python 4 05-09-2010 09:19 PM
[ANN] pr-zlib 1.0.0 - A Pure Ruby zlib library Daniel Berger Ruby 5 06-21-2009 02:07 AM
Zlib::Deflate.deflate problem Aaron Smith Ruby 1 06-28-2007 09:51 PM
Problems with Zlib::Inflate.inflate Chris Malek Ruby 3 01-13-2006 06:12 PM



Advertisments