Sebastian Thiel
cb5a0a35bc
feat(hub): allow to set user-agent
...
Fixes #24
2015-03-19 07:54:15 +01:00
Sebastian Thiel
9d401f5486
feat(doit): optimizations and simplification; seek
...
* MultiPartReader is using match to handle state, reducing unnecessary
calls to 0 in that regard.
* Fixed seek() calls on readers, assuring they are reset to start each
time the loop is done.
* both media-parameters now use `ReadSeek` streams.
* Use `seek()` to figure out size, simplifying the interface.
Closes #17
2015-03-19 07:30:43 +01:00
Sebastian Thiel
6b2301351f
fix(common): MultiPartReader test case
...
Simple fixes, required as its API changed
2015-03-18 22:18:17 +01:00
Sebastian Thiel
224af64068
feat(doit):optimized memory allocation and options
...
* reserve_exact(X) where possible (params, multi-part-reader)
* `if let` used whereever possible to prevent duplicate checks
This increases the possible performance, and makes for more readable,
concise code.
2015-03-18 22:03:52 +01:00
Sebastian Thiel
e53e23a893
fix(common): MultiPartReader now works correctly
...
The state-handling was incorrect, causing it to not handle small reads
correctly.
However, this is working nicely now.
2015-03-18 21:09:48 +01:00
Sebastian Thiel
b127df17b0
feat(common): multibytereader single byte test
...
It shows that we actually don't handle our state correctly.
The first test which reads to string obviously uses a big-enough buffer.
2015-03-18 19:05:07 +01:00
Sebastian Thiel
8db346b8b0
feat(common): MultiPartReader is working.
...
Something that is missing is a single-byte read test
2015-03-18 18:48:03 +01:00
Sebastian Thiel
71c827b306
feat(doit): initial part writing
...
We are a state-machine, and handle parts of it correctly.
However, we don't yet write the boundary at all, and could improve
our use of match.
2015-03-18 17:53:39 +01:00
Sebastian Thiel
fc589cb965
feat(doit): multi-part mime-type and add_parts()
...
Next we will implement the actual Read method
2015-03-18 16:15:51 +01:00
Sebastian Thiel
3ea5e19485
feat(doit): handle 'alt' param
...
It's conditionally set to json, if we expect a response value.
Fixes #20
2015-03-18 15:41:23 +01:00
Sebastian Thiel
29d9e45c9f
fix(doit): fix lifetime issues
...
Those were totally real, actually, and I am happy the borrow checker
exists !
Only one weirdness happened with RefCell<BorrowMut<C>>, but it could be
fixed by checking actual types using `let foo: () = something_nasty()`.
2015-03-18 15:05:01 +01:00
Sebastian Thiel
b0a1f518e9
feat(doit): more multipart infrastructure
...
* outer frame of `MultiPartReader` to allow using it in `doit()`
* restructured `doit()` to get content-types right
There is more work to do, as it currently doesn't compile, nor
do we deal with our streams correctly.
But we are on a good way.
2015-03-18 12:40:18 +01:00
Sebastian Thiel
7cfb5afd39
feat(doit): improve body infrastructure
...
This will support choosing custom readers at runtime, depending on
whether we have a resumable or simple media upload.
2015-03-18 08:50:22 +01:00
Sebastian Thiel
76827ff665
refactor(mbuild+lib): remove map!, better dlg call
...
* map! wasn't used.
* improved delegate calls, using `match` or `delegate.is_some()` to
get the nicest looking, shortest-possible code
2015-03-17 21:56:34 +01:00
Sebastian Thiel
b90a191688
fix(doit): repeated params string addition
...
It seems odd that String + &str is required.
In any way, previously it would try to add i32 to a string.
2015-03-17 19:59:04 +01:00
Sebastian Thiel
d2bf24ca85
feat(doit): simplify URL_ENCODE handling
...
More maintainable template code, with less redundancy.
2015-03-17 19:21:12 +01:00
Sebastian Thiel
1fee21de24
feat(doit): uri-template handling complete
...
We now handle url-encoding for the parameters that would require it,
and can deal with repeated params that will match '/param*'.
2015-03-17 19:12:44 +01:00
Sebastian Thiel
54eb784a55
feat(doit): uri-template generation works
...
This doesn't mean it's correctly implemented, but we are on our way.
It does compile, at least
2015-03-17 18:27:25 +01:00
Sebastian Thiel
863a98c0d7
fix(docs): repeated parameters docs improvement
...
Previously, it said it would 'set' the property, which is not the case
after all.
2015-03-17 17:34:33 +01:00
Sebastian Thiel
64219e7e7e
feat(doit): repeated types in examples
...
Made sure usage examples know how to use repeated types.
2015-03-17 17:28:03 +01:00
Sebastian Thiel
d758f410f6
feat(doit): repeatable parameters working
...
The code dealing with them currently assumes they are "/" separated.
2015-03-17 17:16:27 +01:00
Sebastian Thiel
63997910de
fix(makefile): regenerate .api.deps less often
...
It took too long to do it, so the 'MAKO_LIB_FILES' dependency was
removed. It can be re-added if needed.
2015-03-17 16:32:51 +01:00
Sebastian Thiel
79879daf1b
fix(methods): decent solution for free methods
...
Now I just add a 'virtual' resource, which is called 'methods'.
The good thing about this is that it works well standalone, or
in conjunction with actual resources.
Also the system works with it just with minimal changes
Fixes #19
2015-03-17 16:31:22 +01:00
Sebastian Thiel
60d953a342
feat(methods): intermed. support for 'methods'
...
These 'methods' have no resources, and need slightly special handling.
This version at least makes the generator work, even though
it produces duplicates.
However, as it is so ugly, I'd rather consider to change it
substantially ... this feature should just come naturally.
2015-03-17 15:48:07 +01:00
Sebastian Thiel
354370705d
feat(doit): partial implementation of url expr
...
URL expressions allow to substitute values within the URL with
parameters. However, this is not only a simple key-value replacement,
but supports expressions that need a parser.
This one will have to be implemented next.
2015-03-17 11:41:51 +01:00
Sebastian Thiel
33e85ddd29
feat(doit): set upload media type
...
Related to #17
2015-03-17 10:39:11 +01:00
Sebastian Thiel
91f69ffd6e
fix(test): unit-tests work once again
...
Added missing Result cases to make match exhaustive
2015-03-17 09:30:20 +01:00
Sebastian Thiel
79cbf3ee3f
feat(docs): add more obvious crate and api version
...
Fixes #16
2015-03-17 09:21:53 +01:00
Sebastian Thiel
60adacf8d4
feat(doit): pre-request delegate call.
...
This one is likely to change the further we advance in the upload-media
implementation.
2015-03-17 09:21:18 +01:00
Sebastian Thiel
eef1471357
feat(doit): json decode and delegation
...
Now json errors are handled and delegated with the option to retry,
and all other values are just decoded according to plan.
For now, I brutally unwrap json values assuming this will work, because
it really should work.
2015-03-16 17:14:04 +01:00
Sebastian Thiel
2c79f6e3cf
feat(doit): authentication with and without scopes
...
It's quite rough around the edges, but has a slight chance to work.
Will still to handle return values accordingly.
2015-03-16 15:23:38 +01:00
Sebastian Thiel
1349c786b7
fix(doit): remove BorrowMut until it's cleared
...
See stackoverflow at http://goo.gl/f27zJkj .
Now we can actually call out client and move on with handling the result
2015-03-16 11:51:12 +01:00
Sebastian Thiel
9a58b0badd
feat(doit): attempt to send json-encoded request
...
This doesn't work yet, as I am unable to unwrap the client properly.
It's a refcell that contains a BorrowMut to a hyper::Client, and
lets just, it's complicated.
2015-03-16 10:35:26 +01:00
Sebastian Thiel
814c9c9ffa
fix(lib-name):user lower-case library names,always
...
fixes #14
2015-03-16 08:50:23 +01:00
Sebastian Thiel
881c9dd3d2
Merge pull request #13 from MrFloya/master
...
fix(Makefile): force python2.7 in virtualenv
2015-03-15 12:55:22 +01:00
Florian Wilkens
876772cf22
fix(Makefile): force python2.7 in virtualenv
...
force the usage of python2.7 on systems where /usr/bin/python points to python3.x
fixes issue #12
2015-03-15 12:51:19 +01:00
Sebastian Thiel
31efbf4fb0
fix(travis): incorrectly capitalized cargo.toml
...
This caused cargo on a case-sensitive file-system not to find the
cargo file, which made it to look upwards in the directory structure
to find the correctly named Cargo.toml fo the 'cmn' development
project.
2015-03-15 11:51:24 +01:00
Sebastian Thiel
7f33cf22a5
feat(docs): add cargo.toml dependency information
...
Fixes #10
2015-03-15 11:37:19 +01:00
Sebastian Thiel
bec5cd5e5c
docs(README): add build instructions
...
These should help people to get started on their own.
Fixes #9
2015-03-14 14:11:07 +01:00
Sebastian Thiel
4c657ac9d1
fix(travis): explicit subshell for cargo-doc
...
Previously, it was only executing for cargo $(ARGS)
2015-03-14 13:29:01 +01:00
Sebastian Thiel
a87fbdf0a8
fix(travis): try using a subshell for cargo cmd
...
Apparently travis doesn't execute cargo in the right sub-directory.
Might be a difference in the way make works
Related to #8
2015-03-14 13:28:01 +01:00
Sebastian Thiel
51d05d6db0
fix(deps): fixed dependency to wrong target
...
Which caused the cmn.rs to be missing, and the build to fail.
2015-03-14 12:58:57 +01:00
Sebastian Thiel
5fd7cb5114
fix(travis): install virtualenv automatically
...
The only dependency we really have is python, and wget.
Pip is not needed !
2015-03-14 12:45:32 +01:00
Sebastian Thiel
dd0772f1d7
feat(travis): docs and tests of youtube3 on travis
...
This might already bring it close to 7 minutes runtime, which seems
like providing us with a buffer big enough for when it is
feature-complete.
2015-03-14 11:52:59 +01:00
Sebastian Thiel
8006bb8ca9
fix(activities): fully qualified activity names
...
Fixes #7
2015-03-14 11:23:01 +01:00
Sebastian Thiel
b43eb0e301
fix(travis): Do not generate docs !
...
Previously, travis would continuously overwrite my combined docs with
the ones from the dev-project, and make them useless.
This has been driving me nuts ! Good to have it fixed !
2015-03-14 05:50:37 +01:00
Sebastian Thiel
2c2585d16d
chore(Go): removed generated go file
...
It shouldn't have been committed - after all, these are just there for
my own reference.
2015-03-13 22:45:00 +01:00
Sebastian Thiel
6167dc07fc
fix(readme): added milestone link
...
It's important to the project, and should thus be listed there
2015-03-13 17:52:57 +01:00
Sebastian Thiel
6800edb4dd
docs(readme): initial version
...
It's still rather simple, but a basis for further improvements
2015-03-13 17:49:20 +01:00
Sebastian Thiel
c0a2476058
feat(deps): update-json using discovery API
...
Instead of depending on the google go client API repository, I now
use the original data source, namely the discovery API.
fixes #5
2015-03-13 17:06:48 +01:00