Skip to content

Commit

Permalink
move extension method and constants, clean up whitespace
Browse files Browse the repository at this point in the history
  • Loading branch information
Tommy Monk committed Sep 29, 2018
1 parent 0f9afea commit b3a7dd8
Show file tree
Hide file tree
Showing 23 changed files with 270 additions and 265 deletions.
10 changes: 5 additions & 5 deletions lib/PuppeteerSharp/Browser.cs
Expand Up @@ -220,7 +220,7 @@ public async Task<Page[]> PagesAsync()
public async Task<string> GetVersionAsync()
{
var version = await Connection.SendAsync("Browser.getVersion").ConfigureAwait(false);
return version[Constants.PRODUCT].AsString();
return version[MessageKeys.Product].AsString();
}

/// <summary>
Expand All @@ -233,7 +233,7 @@ public async Task<string> GetVersionAsync()
public async Task<string> GetUserAgentAsync()
{
var version = await Connection.SendAsync("Browser.getVersion").ConfigureAwait(false);
return version[Constants.USER_AGENT].AsString();
return version[MessageKeys.UserAgent].AsString();
}

/// <summary>
Expand Down Expand Up @@ -300,12 +300,12 @@ internal void ChangeTarget(Target target)

internal async Task<Page> CreatePageInContextAsync(string contextId)
{
var args = new Dictionary<string, object> { [Constants.URL] = "about:blank" };
var args = new Dictionary<string, object> { [MessageKeys.Url] = "about:blank" };
if (contextId != null)
{
args[Constants.BROWSER_CONTEXT_ID] = contextId;
args[MessageKeys.BrowserContextId] = contextId;
}
string targetId = (await Connection.SendAsync("Target.createTarget", args))[Constants.TARGET_ID].AsString();
string targetId = (await Connection.SendAsync("Target.createTarget", args))[MessageKeys.TargetId].AsString();

var target = TargetsMap[targetId];
await target.InitializedTask;
Expand Down
35 changes: 18 additions & 17 deletions lib/PuppeteerSharp/CDPSession.cs
@@ -1,10 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
using Microsoft.Extensions.Logging;
using PuppeteerSharp.Helpers;
using PuppeteerSharp.Messaging;

namespace PuppeteerSharp
{
Expand Down Expand Up @@ -121,9 +123,9 @@ public async Task<JObject> SendAsync(string method, dynamic args = null)
var id = ++_lastId;
var message = JsonConvert.SerializeObject(new Dictionary<string, object>
{
{ Constants.ID, id },
{ Constants.METHOD, method },
{ Constants.PARAMS, args }
{ MessageKeys.Id, id },
{ MessageKeys.Method, method },
{ MessageKeys.Params, args }
});
_logger.LogTrace("Send ► {Id} Method {Method} Params {@Params}", id, method, (object)args);

Expand All @@ -138,8 +140,8 @@ public async Task<JObject> SendAsync(string method, dynamic args = null)
{
await Connection.SendAsync("Target.sendMessageToTarget", new Dictionary<string, object>
{
{ Constants.SESSION_ID, SessionId },
{ Constants.MESSAGE, message }
{ MessageKeys.SessionId, SessionId },
{ MessageKeys.Message, message }
}).ConfigureAwait(false);
}
catch (Exception ex)
Expand Down Expand Up @@ -180,47 +182,46 @@ internal void OnMessage(string message)
catch (JsonException exc)
{
_logger.LogError(exc, "Failed to deserialize message", message);

return;
}

var id = obj[Constants.ID]?.Value<int>();
var id = obj[MessageKeys.Id]?.Value<int>();

if (id.HasValue && _callbacks.TryGetValue(id.Value, out var callback) && _callbacks.Remove(id.Value))
{
if (obj[Constants.ERROR] != null)
if (obj[MessageKeys.Error] != null)
{
callback.TaskWrapper.TrySetException(new MessageException(callback, obj));
}
else
{
callback.TaskWrapper.TrySetResult(obj[Constants.RESULT].Value<JObject>());
callback.TaskWrapper.TrySetResult(obj[MessageKeys.Result].Value<JObject>());
}
}
else
{
var method = obj[Constants.METHOD].AsString();
var param = obj[Constants.PARAMS];
var method = obj[MessageKeys.Method].AsString();
var param = obj[MessageKeys.Params];

if (method == "Tracing.tracingComplete")
{
TracingComplete?.Invoke(this, new TracingCompleteEventArgs
{
Stream = param[Constants.STREAM].AsString()
Stream = param[MessageKeys.Stream].AsString()
});
}
else if (method == "Target.receivedMessageFromTarget")
{
var sessionId = param[Constants.SESSION_ID].AsString();
var sessionId = param[MessageKeys.SessionId].AsString();

if (_sessions.TryGetValue(sessionId, out var session))
{
session.OnMessage(param[Constants.MESSAGE].AsString());
session.OnMessage(param[MessageKeys.Message].AsString());
}
}
else if (method == "Target.detachedFromTarget")
{
var sessionId = param[Constants.SESSION_ID].AsString();
var sessionId = param[MessageKeys.SessionId].AsString();

if (_sessions.TryGetValue(sessionId, out var session) && _sessions.Remove(sessionId))
{
Expand Down
27 changes: 13 additions & 14 deletions lib/PuppeteerSharp/Connection.cs
@@ -1,5 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Net.WebSockets;
Expand All @@ -10,6 +9,7 @@
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using PuppeteerSharp.Helpers;
using PuppeteerSharp.Messaging;

namespace PuppeteerSharp
{
Expand Down Expand Up @@ -94,9 +94,9 @@ internal async Task<JObject> SendAsync(string method, dynamic args = null)
var id = ++_lastId;
var message = JsonConvert.SerializeObject(new Dictionary<string, object>
{
{ Constants.ID, id },
{ Constants.METHOD, method },
{ Constants.PARAMS, args }
{ MessageKeys.Id, id },
{ MessageKeys.Method, method },
{ MessageKeys.Params, args }
});

_logger.LogTrace("Send ► {Id} Method {Method} Params {@Params}", id, method, (object)args);
Expand Down Expand Up @@ -126,7 +126,7 @@ internal async Task<CDPSession> CreateSessionAsync(TargetInfo targetInfo)
var sessionId = (await SendAsync("Target.attachToTarget", new
{
targetId = targetInfo.TargetId
}).ConfigureAwait(false))[Constants.SESSION_ID].AsString();
}).ConfigureAwait(false))[MessageKeys.SessionId].AsString();
var session = new CDPSession(this, targetInfo.Type, sessionId);
_sessions.Add(sessionId, session);
return session;
Expand Down Expand Up @@ -238,46 +238,45 @@ private void ProcessResponse(string response)
catch (JsonException exc)
{
_logger.LogError(exc, "Failed to deserialize response", response);

return;
}

_logger.LogTrace("◀ Receive {Message}", response);

var id = obj[Constants.ID]?.Value<int>();
var id = obj[MessageKeys.Id]?.Value<int>();

if (id.HasValue)
{
//If we get the object we are waiting for we return if
//if not we add this to the list, sooner or later some one will come for it
if (_callbacks.TryGetValue(id.Value, out var callback) && _callbacks.Remove(id.Value))
{
if (obj[Constants.ERROR] != null)
if (obj[MessageKeys.Error] != null)
{
callback.TaskWrapper.TrySetException(new MessageException(callback, obj));
}
else
{
callback.TaskWrapper.TrySetResult(obj[Constants.RESULT].Value<JObject>());
callback.TaskWrapper.TrySetResult(obj[MessageKeys.Result].Value<JObject>());
}
}
}
else
{
var method = obj[Constants.METHOD].AsString();
var param = obj[Constants.PARAMS];
var method = obj[MessageKeys.Method].AsString();
var param = obj[MessageKeys.Params];

if (method == "Target.receivedMessageFromTarget")
{
var sessionId = param[Constants.SESSION_ID].AsString();
var sessionId = param[MessageKeys.SessionId].AsString();
if (_sessions.TryGetValue(sessionId, out var session))
{
session.OnMessage(param[Constants.MESSAGE].AsString());
session.OnMessage(param[MessageKeys.Message].AsString());
}
}
else if (method == "Target.detachedFromTarget")
{
var sessionId = param[Constants.SESSION_ID].AsString();
var sessionId = param[MessageKeys.SessionId].AsString();
if (_sessions.TryGetValue(sessionId, out var session) && _sessions.Remove(sessionId) && !session.IsClosed)
{
session.OnClosed();
Expand Down
78 changes: 0 additions & 78 deletions lib/PuppeteerSharp/Constants.cs

This file was deleted.

7 changes: 4 additions & 3 deletions lib/PuppeteerSharp/Dialog.cs
@@ -1,5 +1,6 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using PuppeteerSharp.Messaging;

namespace PuppeteerSharp
{
Expand Down Expand Up @@ -60,8 +61,8 @@ public Task Accept(string promptText = "")
{
return _client.SendAsync("Page.handleJavaScriptDialog", new Dictionary<string, object>
{
{ Constants.ACCEPT, true },
{ Constants.PROMPT_TEXT, promptText }
{ MessageKeys.Accept, true },
{ MessageKeys.PromptText, promptText }
});
}

Expand All @@ -73,7 +74,7 @@ public Task Dismiss()
{
return _client.SendAsync("Page.handleJavaScriptDialog", new Dictionary<string, object>
{
{ Constants.ACCEPT, false }
{ MessageKeys.Accept, false }
});
}
}
Expand Down
8 changes: 4 additions & 4 deletions lib/PuppeteerSharp/ElementHandle.cs
Expand Up @@ -198,7 +198,7 @@ public async Task ClickAsync(ClickOptions options = null)
public Task UploadFileAsync(params string[] filePaths)
{
var files = filePaths.Select(Path.GetFullPath).ToArray();
var objectId = RemoteObject[Constants.OBJECT_ID].AsString();
var objectId = RemoteObject[MessageKeys.ObjectId].AsString();
return Client.SendAsync("DOM.setFileInputFiles", new { objectId, files });
}

Expand Down Expand Up @@ -386,7 +386,7 @@ public async Task<Frame> ContentFrameAsync()
{
var nodeInfo = await Client.SendAsync<DomDescribeNodeResponse>("DOM.describeNode", new Dictionary<string, object>
{
{ Constants.OBJECT_ID, RemoteObject[Constants.OBJECT_ID] }
{ MessageKeys.ObjectId, RemoteObject[MessageKeys.ObjectId] }
}).ConfigureAwait(false);

return string.IsNullOrEmpty(nodeInfo.Node.FrameId) ? null : _frameManager.Frames[nodeInfo.Node.FrameId];
Expand Down Expand Up @@ -419,7 +419,7 @@ private async Task<(decimal x, decimal y)> ClickablePointAsync()
{
result = await Client.SendAsync<GetContentQuadsResponse>("DOM.getContentQuads", new Dictionary<string, object>
{
{ Constants.OBJECT_ID, RemoteObject[Constants.OBJECT_ID] }
{ MessageKeys.ObjectId, RemoteObject[MessageKeys.ObjectId] }
});
}
catch (Exception ex)
Expand Down Expand Up @@ -491,7 +491,7 @@ private async Task<BoxModelResponse> GetBoxModelAsync()
{
return await Client.SendAsync<BoxModelResponse>("DOM.getBoxModel", new
{
objectId = RemoteObject[Constants.OBJECT_ID].AsString()
objectId = RemoteObject[MessageKeys.ObjectId].AsString()
}).ConfigureAwait(false);
}
catch (PuppeteerException ex)
Expand Down

0 comments on commit b3a7dd8

Please sign in to comment.