Dirkjan Ochtman
6478cff2e0
Drop ElementName trait and macros crate
2021-12-13 00:19:03 +08:00
Nicholas Rempel
99f90f3c08
Complete Transaction impl coverage for NameStore extension
2021-12-13 00:19:03 +08:00
Dirkjan Ochtman
8490eefc59
Distribute serialization tests over command modules
2021-12-13 00:19:03 +08:00
Dirkjan Ochtman
cf44a81991
Distribute deserialization tests over command modules
2021-12-13 00:19:03 +08:00
Dirkjan Ochtman
d34c94ee9f
Make Transaction trait more flexible
...
Instead of separate types implementing the `Transaction` trait,
here we implement `Transaction` for a command type.
The definition of the `Transaction` trait ensures that:
* Implementations for commands with a particular extension
must be explicitly defined (that is, you can't just call
`transact()` with a random combination of a command type
and an extension type).
* The combination of the command type and the extension type
(via the `Transaction` impl) defines the response type
(both the command response and the extension response).
This definition means that:
* `Transaction` implementations for commands defined within
the epp-client crate that want to use an extension defined
within the crate must have an impl local to the crate.
* `Transaction` impls defined for commands foreign to the
epp-client crate as well as impls defined with extensions
foreign to the crate can have an impl in their defining crate.
2021-12-13 00:19:03 +08:00
Dirkjan Ochtman
38d4391e43
Remove overly duplicative doctests
2021-12-13 00:19:03 +08:00
Dirkjan Ochtman
50c21a7037
Rename EppRequest to Transaction
2021-12-13 00:19:03 +08:00
Dirkjan Ochtman
7039fdb7d6
Move rgp module back into extensions/rgp.rs
2021-12-09 17:05:06 +08:00
Dirkjan Ochtman
ce30f1599f
Use different type wrappers instead of single EppObject
2021-12-09 17:05:06 +08:00
Dirkjan Ochtman
57d60807d8
Switch from log to tracing
2021-12-09 16:15:34 +08:00
Dirkjan Ochtman
34ee9de0ec
Use explicit imports for log macros
2021-12-09 16:15:34 +08:00
Dirkjan Ochtman
9c694a450a
Remove unused dependency env_logger
2021-12-09 16:15:34 +08:00
Dirkjan Ochtman
b5b17e5b3f
Inline rgp module
2021-12-08 16:04:56 +08:00
Nicholas Rempel
6d1c749b67
Use full definitions for all transfer response models
2021-12-08 15:28:19 +08:00
Nicholas Rempel
a4d6cf1c57
Make transfer exDate optional
2021-12-04 03:14:53 +08:00
Nicholas Rempel
fe47e27c99
Allow transfer request without period
2021-12-04 03:13:43 +08:00
Nicholas Rempel
26579600d0
rgp:infData should allow multiple rgp:rgpStatus
2021-12-04 03:05:18 +08:00
Nicholas Rempel
5261a733be
Update DomainInfo mapping to reflect RFC
2021-12-04 02:58:51 +08:00
Ritesh Chitlangi
9b6522b8b2
fix doctest in consolidate.rs
2021-12-04 02:38:09 +08:00
Nicholas Rempel
a620fc6598
Add tests for consolidate extension
2021-12-04 02:16:38 +08:00
Nicholas Rempel
9e0627dcc5
Add consolidate extension model
2021-12-04 02:16:38 +08:00
Nicholas Rempel
cf446f58c7
Update Login::new to take ownership of Option ext_uris
2021-12-04 02:13:09 +08:00
Nicholas Rempel
0b42579484
Remove credentials from Client and Connection and remove login, logout, and generate_client_tr_id
2021-12-04 02:13:09 +08:00
Nicholas Rempel
c9135754e5
Fix poll model
2021-12-03 12:26:18 +08:00
Dirkjan Ochtman
edb2a2627d
Remove Hello and Greeting type aliases
2021-12-03 12:11:22 +08:00
Dirkjan Ochtman
140f6830a9
Rename CommandWithExtension to Command
2021-12-03 12:11:22 +08:00
Dirkjan Ochtman
8f43800a3d
Remove unused Command type
2021-12-03 12:11:22 +08:00
Dirkjan Ochtman
34828032ac
Remove unnecessary type alias
2021-12-03 12:11:22 +08:00
Dirkjan Ochtman
37feb5c2c4
Remove EppObject wrapper where unnecessary
...
This was being used in a few places where it was unnecessary.
Interestingly, it seemed that the deserialization logic in
`Request::deserialize_response()` was nesting `EppObject`s without
actually causing an error.
2021-12-03 12:11:22 +08:00
Dirkjan Ochtman
627b7d3e23
Rename ResponseWithExtension to just Response
...
Since there is no longer a different type that has no extension.
2021-12-03 12:11:22 +08:00
Dirkjan Ochtman
340cc9c90a
Remove Command prefix from Response types
2021-12-03 12:11:22 +08:00
Dirkjan Ochtman
91070576cd
Remove EppCommandResponseError alias
...
This is a direct alias for EppCommandResponse. It is documented
as marking an error state, but type aliases aren't a great tool
for that because the type system doesn't distinguish aliased types;
if we want to do that seriously it should be a newtype wrapper.
2021-12-03 12:11:22 +08:00
Dirkjan Ochtman
f6ec331227
Remove unused CommandResponse alias
2021-12-03 12:11:22 +08:00
Nicholas Rempel
0a0e6ac9d5
Add tests for namestore extension object
2021-12-03 11:52:54 +08:00
Nicholas Rempel
2e0165a839
Add namestore extension model
2021-12-03 11:52:54 +08:00
Nicholas Rempel
02cb2c1c26
Move rgp test xml into extensions directory
2021-12-03 11:52:54 +08:00
Nicholas Rempel
f3e8447c0d
Move rgp into extensions directory
2021-12-03 11:52:54 +08:00
Dirkjan Ochtman
716412bbcf
Simplify XMLNS constant names to reduce stuttering
...
Since these are mostly used within the relevant modules, there is not
much point in having a name that replicates the module path.
2021-12-02 21:09:25 +08:00
Dirkjan Ochtman
ef25041cce
Use inline modules for intermediate layer
...
(Skip `connection` since it is dissolved in #29.)
2021-12-02 21:09:25 +08:00
Dirkjan Ochtman
9f41f4263e
Use country type from celes
2021-12-02 21:01:44 +08:00
Dirkjan Ochtman
609c327a95
Rename EppClientConnection to RegistryConfig
...
This type represents configuration to build a connection for a
particular registry, so this seems like a better name.
2021-12-02 19:18:22 +08:00
Dirkjan Ochtman
ac50679071
Hoist client and registry modules up to top level
2021-12-02 19:18:22 +08:00
Dirkjan Ochtman
b9efd46170
Inline trivial single-use function
...
Also avoids allocating an extra copy of the host String.
2021-12-02 19:18:22 +08:00
Dirkjan Ochtman
d1cf43af46
Move client certificate setup into epp_connect()
2021-12-02 19:18:22 +08:00
Dirkjan Ochtman
7ff8547840
Inline extraction of certificate chain & private key
...
Since both are keying off of the `tls_files` fields, it seems
to make sense to handle both together.
2021-12-02 19:18:22 +08:00
Dirkjan Ochtman
8839eb4a11
Keep struct definitions and impl blocks together
2021-12-02 19:18:22 +08:00
Dirkjan Ochtman
cbd9fd84aa
Improve error handling in client certificate handling
...
Yield errors instead of panicking. Avoid unnecessary allocations/cloning.
2021-12-02 19:18:22 +08:00
Dirkjan Ochtman
af7911cbc3
Inline single-use function
...
Reuse Vec buffer allocation for String return value.
2021-12-02 19:18:22 +08:00
Dirkjan Ochtman
d8bcf690a4
Return error instead of panicking on unexpected EOF
2021-12-02 19:18:22 +08:00
Dirkjan Ochtman
48ec1e03ce
Initialize buffer upfront to avoid unnecessary copies
2021-12-02 19:18:22 +08:00