Commit Graph

12 Commits

Author SHA1 Message Date
Lewin Bormann
85b12dd3e8 refactor(common): Rename common -> types 2016-08-31 20:01:24 +02:00
Lewin Bormann
9e59bf0496 refactor(all): More flows demand for a different structure
I mainly resolved some circular dependencies that had crept in, and
moved code around. I renamed helper.rs because that was not really an
appropriate name anymore, and moved the delegate code into a new module.
2016-08-31 19:48:38 +02:00
Sebastian Thiel
22bb255a55 fix(dependencies): work with latest dependencies on nightly
Stable doesn't quite work yet due to the cargo issue further
described [here][cargo-issue]

[cargo-issue]: https://github.com/rust-lang/cargo/issues/2064
2016-05-20 08:57:06 +02:00
Lewin Bormann
77355888f2 feat(flows): Implement flow for installed apps
The "Installed App Flow" requires user interaction; we first generate a
URL that the user has to navigate to. Then, the user either pastes a
displayed code into the app being authorized, or the OAuth provider
redirects the user's browser to a webserver that is running on
localhost. This webserver is provided by the library and the flow should
work automatically. Extensive documentation can be found here:
https://developers.google.com/identity/protocols/OAuth2InstalledApp
An example for the InstalledFlow with the Drive API is here:
https://gist.github.com/dermesser/8c915ec4c88ee8e8927e7d40b276ca52
2016-04-16 14:45:45 +00:00
Sebastian Thiel
c18ae07bbb imp(duration): use std::time::Duration everywhere
This gets rid of the time crate, which was necessary only while Duration wasn't stable
in std.
2016-02-07 10:09:36 +01:00
Sebastian Thiel
ad0bde3092 fix(tests): assure tests actually work
Previously we simply forgot to run the tests, and published test-code
that didn't really work.
2015-08-08 11:45:53 +02:00
Sebastian Thiel
a169d9610d chore(serde): update to serde 0.5.0
Serde move all json code into a separate crate, which we are now pulling
in separately.
2015-08-08 10:40:14 +02:00
Sebastian Thiel
f59d97d4c5 refactor(lib): remove empty macros
Even though these made `cargo build` work, I think what's really needed
in the long run is to make it work for `cargo test` as well.
2015-06-11 11:49:38 +02:00
Sebastian Thiel
a260b13868 fix(lib): setup nightly crate meta data correctly
* Previously the meta-data was applied to the crate, which doesn't seem
  to work.
* attempted to make `examples/auth.rs` work on stable. This isn't
  properly tested now, as tests don't compile.

We are now at a state were stable as well as nightly work similarly,
but fail because `include!` doesn't behave correctly if macros are
involved. Namely it happens before crates are linked, yet it will
try to expand macros right away, which is a problem.

If the macro is defined in an empty fashion, it will actually be used
at include time, and expanded. Which causes issues further down the
compilation.

With the current 'fix' we manage to at least make everything but
`cargo test` work.

Related to #12
2015-06-11 11:29:10 +02:00
Sebastian Thiel
37231fad2e chore(make): added makefile
* It should help to keep track of how to properly call cargo in nightly
  mode. After all, I have wasted some time, multiple times just trying
  to figure out that I forgot to add the nightly feature.
* Slightly improved structure of lib.rs and includes

Related to #12
2015-06-11 10:57:57 +02:00
Sebastian Thiel
0901497d89 fix(syntex): cleanup, build works on stable
It seems it doesn't like one line in particular (helper.rs:450),
which causes syntex to crash. Commenting it out does the trick.
2015-05-26 17:46:47 +02:00
Sebastian Thiel
9b2f9e77be feat(syntex): basic infrastructure
It doesn't yet work on nightly due to a panic in
https://goo.gl/RyM4GT

Might have something to do with me being on nightly,
and some cargo-related hickoup.
2015-05-26 14:41:31 +02:00