Skip to content

Commit 5fbf7fc

Browse files
committed
Force ApiStrategy
1 parent 9a074d8 commit 5fbf7fc

File tree

2 files changed

+90
-89
lines changed

2 files changed

+90
-89
lines changed

PokemonGo.RocketAPI/Client.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,10 @@ public class Client
4343
internal string ApiUrl { get; set; }
4444
internal AuthTicket AuthTicket { get; set; }
4545

46-
public Client(ISettings settings)
46+
public Client(ISettings settings, IApiFailureStrategy apiFailureStrategy)
4747
{
4848
Settings = settings;
49+
ApiFailure = apiFailureStrategy;
4950

5051
Login = new Rpc.Login(this);
5152
Player = new Rpc.Player(this);

PokemonGo.RocketAPI/Rpc/Login.cs

Lines changed: 88 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
1-
using System;
2-
using System.Collections.Generic;
3-
using System.Linq;
4-
using System.Text;
5-
using System.Threading.Tasks;
6-
using Google.Protobuf;
7-
using PokemonGo.RocketAPI.Enums;
8-
using PokemonGo.RocketAPI.Exceptions;
9-
using PokemonGo.RocketAPI.Extensions;
10-
using PokemonGo.RocketAPI.Helpers;
11-
using PokemonGo.RocketAPI.Login;
12-
using POGOProtos.Networking.Requests;
13-
using POGOProtos.Networking.Requests.Messages;
14-
15-
namespace PokemonGo.RocketAPI.Rpc
16-
{
17-
public delegate void GoogleDeviceCodeDelegate(string code, string uri);
18-
public class Login : BaseRpc
19-
{
20-
//public event GoogleDeviceCodeDelegate GoogleDeviceCodeEvent;
21-
private ILoginType login;
22-
23-
public Login(Client client) : base(client)
24-
{
25-
login = SetLoginType(client.Settings);
26-
}
27-
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
using Google.Protobuf;
7+
using PokemonGo.RocketAPI.Enums;
8+
using PokemonGo.RocketAPI.Exceptions;
9+
using PokemonGo.RocketAPI.Extensions;
10+
using PokemonGo.RocketAPI.Helpers;
11+
using PokemonGo.RocketAPI.Login;
12+
using POGOProtos.Networking.Requests;
13+
using POGOProtos.Networking.Requests.Messages;
14+
15+
namespace PokemonGo.RocketAPI.Rpc
16+
{
17+
public delegate void GoogleDeviceCodeDelegate(string code, string uri);
18+
public class Login : BaseRpc
19+
{
20+
//public event GoogleDeviceCodeDelegate GoogleDeviceCodeEvent;
21+
private ILoginType login;
22+
23+
public Login(Client client) : base(client)
24+
{
25+
login = SetLoginType(client.Settings);
26+
}
27+
2828
private static ILoginType SetLoginType(ISettings settings)
2929
{
3030
switch (settings.AuthType)
@@ -36,67 +36,67 @@ private static ILoginType SetLoginType(ISettings settings)
3636
default:
3737
throw new ArgumentOutOfRangeException(nameof(settings.AuthType), "Unknown AuthType");
3838
}
39-
}
40-
39+
}
40+
4141
public async Task DoLogin()
42-
{
42+
{
4343
_client.AuthToken = await login.GetAccessToken().ConfigureAwait(false);
4444
await SetServer().ConfigureAwait(false);
45-
}
46-
47-
private async Task SetServer()
48-
{
49-
#region Standard intial request messages in right Order
50-
51-
var getPlayerMessage = new GetPlayerMessage();
52-
var getHatchedEggsMessage = new GetHatchedEggsMessage();
53-
var getInventoryMessage = new GetInventoryMessage
54-
{
55-
LastTimestampMs = DateTime.UtcNow.ToUnixTime()
56-
};
57-
var checkAwardedBadgesMessage = new CheckAwardedBadgesMessage();
58-
var downloadSettingsMessage = new DownloadSettingsMessage
59-
{
60-
Hash = "05daf51635c82611d1aac95c0b051d3ec088a930"
61-
};
62-
63-
#endregion
64-
65-
var serverRequest = RequestBuilder.GetInitialRequestEnvelope(
66-
new Request
67-
{
68-
RequestType = RequestType.GetPlayer,
69-
RequestMessage = getPlayerMessage.ToByteString()
70-
}, new Request
71-
{
72-
RequestType = RequestType.GetHatchedEggs,
73-
RequestMessage = getHatchedEggsMessage.ToByteString()
74-
}, new Request
75-
{
76-
RequestType = RequestType.GetInventory,
77-
RequestMessage = getInventoryMessage.ToByteString()
78-
}, new Request
79-
{
80-
RequestType = RequestType.CheckAwardedBadges,
81-
RequestMessage = checkAwardedBadgesMessage.ToByteString()
82-
}, new Request
83-
{
84-
RequestType = RequestType.DownloadSettings,
85-
RequestMessage = downloadSettingsMessage.ToByteString()
86-
});
87-
88-
89-
var serverResponse = await PostProto<Request>(Resources.RpcUrl, serverRequest);
90-
91-
if (serverResponse.AuthTicket == null)
92-
{
93-
_client.AuthToken = null;
94-
throw new AccessTokenExpiredException();
95-
}
96-
97-
_client.AuthTicket = serverResponse.AuthTicket;
98-
_client.ApiUrl = serverResponse.ApiUrl;
99-
}
100-
101-
}
102-
}
45+
}
46+
47+
private async Task SetServer()
48+
{
49+
#region Standard intial request messages in right Order
50+
51+
var getPlayerMessage = new GetPlayerMessage();
52+
var getHatchedEggsMessage = new GetHatchedEggsMessage();
53+
var getInventoryMessage = new GetInventoryMessage
54+
{
55+
LastTimestampMs = DateTime.UtcNow.ToUnixTime()
56+
};
57+
var checkAwardedBadgesMessage = new CheckAwardedBadgesMessage();
58+
var downloadSettingsMessage = new DownloadSettingsMessage
59+
{
60+
Hash = "05daf51635c82611d1aac95c0b051d3ec088a930"
61+
};
62+
63+
#endregion
64+
65+
var serverRequest = RequestBuilder.GetInitialRequestEnvelope(
66+
new Request
67+
{
68+
RequestType = RequestType.GetPlayer,
69+
RequestMessage = getPlayerMessage.ToByteString()
70+
}, new Request
71+
{
72+
RequestType = RequestType.GetHatchedEggs,
73+
RequestMessage = getHatchedEggsMessage.ToByteString()
74+
}, new Request
75+
{
76+
RequestType = RequestType.GetInventory,
77+
RequestMessage = getInventoryMessage.ToByteString()
78+
}, new Request
79+
{
80+
RequestType = RequestType.CheckAwardedBadges,
81+
RequestMessage = checkAwardedBadgesMessage.ToByteString()
82+
}, new Request
83+
{
84+
RequestType = RequestType.DownloadSettings,
85+
RequestMessage = downloadSettingsMessage.ToByteString()
86+
});
87+
88+
89+
var serverResponse = await PostProto<Request>(Resources.RpcUrl, serverRequest);
90+
91+
if (serverResponse.AuthTicket == null)
92+
{
93+
_client.AuthToken = null;
94+
throw new AccessTokenExpiredException();
95+
}
96+
97+
_client.AuthTicket = serverResponse.AuthTicket;
98+
_client.ApiUrl = serverResponse.ApiUrl;
99+
}
100+
101+
}
102+
}

0 commit comments

Comments
 (0)